【发布时间】:2011-04-10 02:42:30
【问题描述】:
我有以下情况:
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 中进行绑定,因为如果控件样式被覆盖,它会走开……
【问题讨论】:
标签: c# wpf dependency-properties attached-properties