У меня следующая ситуация:
FooControl :
Мне нужно, чтобы этот элемент управления мог размещать контент в определенной области, поэтому я использовал Canvasуправляйте им.
<Canvas>
<local:FooPanel x:Name="FooItemsPanel" Canvas.Top="0" Canvas.Left="0" Panel.ZIndex="0" IsItemsHost="True" />
<ContentPresenter x:Name="PART_FooContentHost" Canvas.Top="?" Canvas.Left="?" Panel.ZIndex="1" ContentSource="FooContent" />
</Canvas>
FooPanel:
Упорядочивает все дочерние элементы в определенном порядке и определяет область (Rect
) для того, где содержимое должноиди.
Но вот в чем проблема.На FooPanel действительно нет ссылок из FooControl.Как я могу получить координаты из FooPanel в FooControl?Я полагаю, что это какой-то трюк с DependencyProperty, но я не уверен, как.
Я превратил Rect в DependencyProperty, но я не совсем уверен, как получить его из моего FooControl.cs (я быскорее избегайте связывания в XAML, потому что если стиль элемента управления переопределен, он исчезнет ...