我有附属物:
public static readonly DependencyProperty DataTableProperty =
DependencyProperty.RegisterAttached("DataTable",
typeof(MetadataTable),
typeof(TabControl),
new PropertyMetadata(DataTableChanged));
我像这样使用它,一切都正确构建:
<sdk:TabControl view:DataBrowserHelper.DataTable="{Binding Path=Table}" />
如果我将属性的ownerType更改为其他类型,则所有内容仍然可以正确构建。我认为ownerType确定了可附加属性的类型。所以我错了?什么是ownerType?如何限制属性的使用(例如,使其仅可连接到TabControl或DataGrid)?
答案 0 :(得分:1)
ownerType是拥有该属性的类的类型。 例如,如果要在名为MyClass的类中声明此属性,则此DependencyProperty的ownerType将为MyClass。
限制用法很复杂,因为你的程序只会在RunTime中知道你在DP界面上附加到DP的元素的类型,所以它会在你的手中做正确的。