Я не могу заставить следующий 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>