附属物中的ownerType是什么?

时间:2012-05-17 11:45:21

标签: silverlight attached-properties

我有附属物:

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)?

1 个答案:

答案 0 :(得分:1)

ownerType是拥有该属性的类的类型。 例如,如果要在名为MyClass的类中声明此属性,则此DependencyProperty的ownerType将为MyClass。

限制用法很复杂,因为你的程序只会在RunTime中知道你在DP界面上附加到DP的元素的类型,所以它会在你的手中做正确的。