WPF共享依赖属性

本文关键字:属性 依赖 共享 WPF | 更新日期: 2023-09-27 17:49:51

我有以下情况:

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)来放置内容。


但是,问题来了。fooopanel并不是真正从FooControl中引用的。我怎么能得到坐标从FooPanel到FooControl?我认为这是一些DependencyProperty技巧,但我不确定如何。

我把矩形变成了一个DependencyProperty,但我不确定如何从我的FooControl.cs中得到它(我宁愿避免在XAML中做绑定,因为如果控件样式被覆盖,它会消失…

WPF共享依赖属性

我不太明白你的问题。它可能会在WPF布局和管理控件和属性的方式中寻找一些实际上不符合逻辑的东西。

使用附加属性和一些数据绑定可能是可能的。

您可能还会看到WPF中的另一种布局是如何工作的,因为这是父元素如何定位其子元素的。