次の方法で共有


DependencyProperty.RegisterAttached メソッド

定義

添付された依存関係プロパティを、プロパティのプロパティ名、プロパティの種類、所有者の種類、およびプロパティ メタデータに登録します。

 static DependencyProperty RegisterAttached(winrt::hstring const& name, TypeName const& propertyType, TypeName const& ownerType, PropertyMetadata const& defaultMetadata);
public static DependencyProperty RegisterAttached(string name, System.Type propertyType, System.Type ownerType, PropertyMetadata defaultMetadata);
function registerAttached(name, propertyType, ownerType, defaultMetadata)
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata) As DependencyProperty

パラメーター

name
String

winrt::hstring

登録する依存関係プロパティの名前。

propertyType
TypeName Type

型参照としてのプロパティの型 (System.Type for Microsoft .NET、Visual C++ コンポーネント拡張機能の TypeName ヘルパー構造体 (C++/CX))。

ownerType
TypeName Type

依存関係プロパティを型参照として登録している所有者型 (System.Type for Microsoft .NET、Visual C++ コンポーネント拡張機能 (C++/CX) の TypeName ヘルパー構造体)。

defaultMetadata
PropertyMetadata

プロパティ メタデータ インスタンス。 これには PropertyChangedCallback 実装参照を含めることができます。

戻り値

クラスのパブリック静的読み取り専用フィールドの値を設定するために使用する必要がある依存関係プロパティ識別子。 その後、その識別子は、プログラムで値を設定したり 、Binding をアタッチしたりするなどの操作のために、添付プロパティを後で参照するために使用されます。

この例では、 DependencyObject から派生するクラスを定義し、識別子フィールドと共に添付プロパティを定義します。 このクラスのシナリオは、他の UI 要素が XAML で設定できる添付プロパティを宣言するサービス クラスであり、サービスが実行時にそれらの UI 要素の添付プロパティ値に対して動作する可能性があるということです。 その他の例については、「 カスタム添付プロパティ」を参照してください。

public abstract class AquariumServices : DependencyObject
{
    public enum Buoyancy {Floats,Sinks,Drifts}

    public static readonly DependencyProperty BuoyancyProperty = DependencyProperty.RegisterAttached(
      "Buoyancy",
      typeof(Buoyancy),
      typeof(AquariumServices),
      new PropertyMetadata(Buoyancy.Floats)
    );
    public static void SetBuoyancy(DependencyObject element, Buoyancy value)
    {
        element.SetValue(BuoyancyProperty, value);
    }
    public static Buoyancy GetBuoyancy(DependencyObject element)
    {
        return (Buoyancy)element.GetValue(BuoyancyProperty);
    }
}
Public Class AquariumServices
    Inherits DependencyObject
    Public Enum Buoyancy
        Floats
        Sinks
        Drifts
    End Enum

    Public Shared ReadOnly BuoyancyProperty As DependencyProperty = _
          DependencyProperty.RegisterAttached(
          "Buoyancy", _
          GetType(Buoyancy), _
          GetType(AquariumServices), _
          New PropertyMetadata(Buoyancy.Floats))


    Public Sub SetBuoyancy(element As DependencyObject, value As Buoyancy)
        element.SetValue(BuoyancyProperty, value)
    End Sub
    Public Function GetBuoyancy(element As DependencyObject) As Buoyancy
        GetBuoyancy = CType(element.GetValue(BuoyancyProperty), Buoyancy)
    End Function
End Class

適用対象

こちらもご覧ください