1

私は添付プロパティを持っています:

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 にのみアタッチ可能にするなど)。

4

1 に答える 1

1

ownerType は、プロパティを所有するクラスの型です。たとえば、このプロパティを MyClass という名前のクラスで宣言している場合、この DependencyProperty の ownerType は MyClass になります。

あなたのプログラムはRunTimeでのみインターフェイス上のDPにアタッチしている要素のタイプを知っているので、使用法を制限するのは複雑です。

于 2012-05-17T13:54:43.643 に答える