Я не могу заставить следующий XAML работать так, как я хочу. Все привязки работают, потому что не получают ошибок от привязок. Но я не получаю ожидаемого результата от привязки к прямоугольнику RatioShape . Проблема заключается в том, что вложенное свойство wpflib: RatioPanel.Ratio всегда возвращает значение по умолчанию, а не значение с привязкой к данным.
Так что я думаю, что присоединенное свойство 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>