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) で定義Extensible Application Markup Language概念です。 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) で定義Extensible Application Markup Language概念です。 WPF は、添付プロパティを依存関係プロパティとして実装します。 WPF 添付プロパティは依存関係プロパティなので、レイアウト特性の報告などの操作に一般的なプロパティ システムで使用できるメタデータを適用できます。 詳細については、「添付プロパティの概要」を参照してください。

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

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

の代わりに を使用して依存関係プロパティを登録する特定のシナリオの 1 つは、 RegisterAttached Register プロパティ値の継承をサポートする方法です。 依存関係プロパティを公開するプロパティ ラッパー アクセサーがクラスで定義されている場合や、Get* および Set* 静的メソッドを公開して、真の添付プロパティ サポート アクセサーを提供しない場合でも、値を継承する依存関係プロパティを に登録する必要があります。 RegisterAttached プロパティ値の継承は、アタッチされていない依存関係プロパティに対して機能すると思える場合があります。ただし、ランタイム ツリー内の特定の要素境界を介した、アタッチされていないプロパティの継承動作は未定義です。 プロパティを添付として登録すると、実質的に添付プロパティがプロパティ システムにグローバル プロパティになります。これにより、プロパティ値の継承が要素ツリー内のすべての境界を越えて機能します。 メタデータで 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) で定義Extensible Application Markup Language概念です。 WPF は、添付プロパティを依存関係プロパティとして実装します。 WPF 添付プロパティは依存関係プロパティなので、レイアウト特性の報告などの操作に一般的なプロパティ システムで使用できるメタデータを適用できます。 詳細については、「添付プロパティの概要」を参照してください。

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

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

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

こちらもご覧ください

適用対象