我无法让以下XAML按照我的期望工作。所有绑定都有效,因为没有从绑定中得到错误。但是我没有从 RatioShape 矩形的绑定中得到预期的结果。问题在于附加属性 wpflib:RatioPanel.Ratio 始终返回其默认值,而不是数据绑定的值。
所以我认为 RatioShape 上的附加属性在错误的“上下文”中设置。如何绑定到附加属性,以便 wpflib:RatioPanel 获取绑定值?
所以我认为 RatioShape 上的附加属性在错误的“上下文”中设置。如何绑定到附加属性,以便 wpflib:RatioPanel 获取绑定值?
<wpflib:RatioContentPresenter2 RatioMaxValue="{Binding Path=RatioMaxValue}">
<ItemsControl Grid.Row="0" wpflib:RatioContentPresenter2.RatioOffset="{Binding Path=RatioOffset}" wpflib:RatioContentPresenter2.RatioValue="{Binding Path=RatioValue}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<wpflib:RatioPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Rectangle x:Name="RatioShape" wpflib:RatioPanel.Ratio="{Binding Path=Value}" Fill="{Binding Path=Brush}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsSource>
<Binding Path="RatioItems" Mode="OneWay" />
</ItemsControl.ItemsSource>
</ItemsControl>
</wpflib:RatioContentPresenter2>