DependencyProperty.RegisterAttached メソッド

定義

添付プロパティをプロパティ システムに登録します。

オーバーロード

RegisterAttached(String, Type, Type)

プロパティ名、プロパティ型、および所有者型を指定して、添付プロパティを登録します。

RegisterAttached(String, Type, Type, PropertyMetadata)

プロパティ名、プロパティの型、所有者の型、およびプロパティ メタデータを指定して、アタッチされるプロパティを登録します。

RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback)

プロパティ型、所有者型、プロパティ メタデータ、および値の検証コールバックを指定して、添付プロパティを登録します。

RegisterAttached(String, Type, Type)

プロパティ名、プロパティ型、および所有者型を指定して、添付プロパティを登録します。

public:
 static System::Windows::DependencyProperty ^ RegisterAttached(System::String ^ name, Type ^ propertyType, Type ^ ownerType);
public static System.Windows.DependencyProperty RegisterAttached (string name, Type propertyType, Type ownerType);
static member RegisterAttached : string * Type * Type -> System.Windows.DependencyProperty
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type) As DependencyProperty

パラメーター

name
String

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

propertyType
Type

プロパティの型。

ownerType
Type

依存関係プロパティを登録する所有者型。

戻り値

DependencyProperty

クラス内の public static readonly フィールドの値を設定するために使用する依存関係プロパティ識別子。 この識別子は、後で依存関係プロパティを参照する際に使用されます。たとえば、依存関係プロパティの値をプログラムで設定したり、メタデータを取得したりする操作で使用されます。

次の例では、この RegisterAttached シグネチャを使用して抽象クラスに添付プロパティを登録します。

public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
  "IsBubbleSource",
  typeof(Boolean),
  typeof(AquariumObject2)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
    element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
    return (Boolean)element.GetValue(IsBubbleSourceProperty);
}
Public Shared ReadOnly IsBubbleSourceProperty As DependencyProperty = DependencyProperty.RegisterAttached("IsBubbleSource", GetType(Boolean), GetType(AquariumObject2))
Public Shared Sub SetIsBubbleSource(ByVal element As UIElement, ByVal value As Boolean)
    element.SetValue(IsBubbleSourceProperty, value)
End Sub
Public Shared Function GetIsBubbleSource(ByVal element As UIElement) As Boolean
    Return CType(element.GetValue(IsBubbleSourceProperty), Boolean)
End Function

注釈

添付プロパティは、拡張アプリケーション マークアップ言語 (XAML) によって定義されるプロパティの概念です。 WPF は、依存関係プロパティとして添付プロパティを実装します。 WPF 添付プロパティは依存関係プロパティであるため、レポート レイアウト特性などの操作に一般的なプロパティ システムで使用できるメタデータを適用できます。 詳細については、「添付プロパティの概要」を参照してください。

依存関係プロパティの登録の詳細については、次を参照してください DependencyProperty

こちらもご覧ください

適用対象

RegisterAttached(String, Type, Type, PropertyMetadata)

プロパティ名、プロパティの型、所有者の型、およびプロパティ メタデータを指定して、アタッチされるプロパティを登録します。

public:
 static System::Windows::DependencyProperty ^ RegisterAttached(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata);
public static System.Windows.DependencyProperty RegisterAttached (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata);
static member RegisterAttached : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyProperty
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata) As DependencyProperty

パラメーター

name
String

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

propertyType
Type

プロパティの型。

ownerType
Type

依存関係プロパティを登録する所有者型。

defaultMetadata
PropertyMetadata

依存関係プロパティのプロパティ メタデータ。 ここには、既定値などの特性を含めることができます。

戻り値

DependencyProperty

クラス内の public static readonly フィールドの値を設定するために使用する依存関係プロパティ識別子。 この識別子は、後で依存関係プロパティを参照する際に使用されます。たとえば、依存関係プロパティの値をプログラムで設定したり、メタデータを取得したりする操作で使用されます。

注釈

添付プロパティは、拡張アプリケーション マークアップ言語 (XAML) によって定義されるプロパティの概念です。 WPF は、依存関係プロパティとして添付プロパティを実装します。 WPF 添付プロパティは依存関係プロパティであるため、レポート レイアウト特性などの操作に一般的なプロパティ システムで使用できるメタデータを適用できます。 詳細については、「添付プロパティの概要」を参照してください。

依存関係プロパティの登録の詳細については、次を参照してください DependencyProperty

値継承の依存関係プロパティに RegisterAttached を使用する

代わりに依存関係プロパティを登録するための特定のシナリオの 1 つは、プロパティ RegisterAttached 値の Register 継承をサポートすることです。 値継承依存関係プロパティは、依存関係プロパティ RegisterAttached を公開するプロパティ ラッパー アクセサーをクラスが定義している場合でも、および Get* および Set* 静的メソッドを公開して、真の添付プロパティ サポート アクセサーを提供する場合でも登録する必要があります。 プロパティ値の継承は、接続されていない依存関係プロパティでは機能するように見えますが、ランタイム ツリー内の特定の要素境界を介した非アタッチプロパティの継承動作は未定義です。 添付プロパティを実質的に添付として登録すると、添付プロパティがプロパティ システムのグローバル プロパティになり、プロパティ値の継承が要素ツリー内のすべての境界にわたって機能することが保証されます。 メタデータで Inherits を指定する場合は、必ず RegisterAttached を使用してプロパティを登録します。 詳細については、「プロパティ値の継承」を参照してください。

こちらもご覧ください

適用対象

RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback)

プロパティ型、所有者型、プロパティ メタデータ、および値の検証コールバックを指定して、添付プロパティを登録します。

public:
 static System::Windows::DependencyProperty ^ RegisterAttached(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyProperty RegisterAttached (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterAttached : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyProperty
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyProperty

パラメーター

name
String

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

propertyType
Type

プロパティの型。

ownerType
Type

依存関係プロパティを登録する所有者型。

defaultMetadata
PropertyMetadata

依存関係プロパティのプロパティ メタデータ。 ここには、既定値などの特性を含めることができます。

validateValueCallback
ValidateValueCallback

通常の型検証に加えて、依存関係プロパティ値のカスタム検証を実行する必要があるコールバックへの参照。

戻り値

DependencyProperty

クラス内の public static readonly フィールドの値を設定するために使用する依存関係プロパティ識別子。 この識別子は、後で依存関係プロパティを参照する際に使用されます。たとえば、依存関係プロパティの値をプログラムで設定したり、メタデータを取得したりする操作で使用されます。

次の例では、この RegisterAttached シグネチャを使用して抽象クラスに添付プロパティを登録します。 この添付プロパティは列挙型プロパティであり、登録によって検証コールバックが追加され、指定された値が列挙型の値であることを確認します。

public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
  "IsBubbleSource",
  typeof(Boolean),
  typeof(AquariumObject2)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
    element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
    return (Boolean)element.GetValue(IsBubbleSourceProperty);
}
Public Shared ReadOnly IsBubbleSourceProperty As DependencyProperty = DependencyProperty.RegisterAttached("IsBubbleSource", GetType(Boolean), GetType(AquariumObject2))
Public Shared Sub SetIsBubbleSource(ByVal element As UIElement, ByVal value As Boolean)
    element.SetValue(IsBubbleSourceProperty, value)
End Sub
Public Shared Function GetIsBubbleSource(ByVal element As UIElement) As Boolean
    Return CType(element.GetValue(IsBubbleSourceProperty), Boolean)
End Function

注釈

添付プロパティは、拡張アプリケーション マークアップ言語 (XAML) によって定義されるプロパティの概念です。 WPF は、依存関係プロパティとして添付プロパティを実装します。 WPF 添付プロパティは依存関係プロパティであるため、レポート レイアウト特性などの操作に一般的なプロパティ システムで使用できるメタデータを適用できます。 詳細については、「添付プロパティの概要」を参照してください。

依存関係プロパティの登録の詳細については、次を参照してください DependencyProperty

値継承の依存関係プロパティに RegisterAttached を使用する

代わりに依存関係プロパティを登録するための特定のシナリオの 1 つは、プロパティ RegisterAttached 値の Register 継承をサポートすることです。 値継承依存関係プロパティは、依存関係プロパティ RegisterAttached を公開するプロパティ ラッパー アクセサーをクラスが定義している場合でも、および Get* および Set* 静的メソッドを公開して、真の添付プロパティ サポート アクセサーを提供する場合でも登録する必要があります。 プロパティ値の継承は、接続されていない依存関係プロパティでは機能するように見えますが、ランタイム ツリー内の特定の要素境界を介した非アタッチプロパティの継承動作は未定義です。 添付プロパティを実質的に添付として登録すると、添付プロパティがプロパティ システムのグローバル プロパティになり、プロパティ値の継承が要素ツリー内のすべての境界にわたって機能することが保証されます。 メタデータで Inherits を指定する場合は、必ず RegisterAttached を使用してプロパティを登録します。 詳細については、「プロパティ値の継承」を参照してください。

こちらもご覧ください

適用対象