DependencyObject クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
依存関係プロパティ システムに参加しているオブジェクトを表します。
public ref class DependencyObject : System::Windows::Threading::DispatcherObject
public class DependencyObject : System.Windows.Threading.DispatcherObject
[System.Windows.Markup.NameScopeProperty("NameScope", typeof(System.Windows.NameScope))]
public class DependencyObject : System.Windows.Threading.DispatcherObject
type DependencyObject = class
inherit DispatcherObject
[<System.Windows.Markup.NameScopeProperty("NameScope", typeof(System.Windows.NameScope))>]
type DependencyObject = class
inherit DispatcherObject
Public Class DependencyObject
Inherits DispatcherObject
- 継承
- 派生
- 属性
例
次の例では、 から DependencyObject 派生して、新しい抽象クラスを作成します。 その後、 クラスは添付プロパティを登録し、その添付プロパティのサポート メンバーを含めます。
public abstract class AquariumObject3 : DependencyObject
{
public enum Bouyancy
{
Floats,
Sinks,
Drifts
}
public static readonly DependencyProperty BouyancyProperty = DependencyProperty.RegisterAttached(
"Bouyancy",
typeof(Bouyancy),
typeof(AquariumObject3),
new FrameworkPropertyMetadata(Bouyancy.Floats, FrameworkPropertyMetadataOptions.AffectsArrange),
new ValidateValueCallback(ValidateBouyancy)
);
public static void SetBouyancy(UIElement element, Bouyancy value)
{
element.SetValue(BouyancyProperty, value);
}
public static Bouyancy GetBouyancy(UIElement element)
{
return (Bouyancy)element.GetValue(BouyancyProperty);
}
private static bool ValidateBouyancy(object value)
{
Bouyancy bTest = (Bouyancy) value;
return (bTest == Bouyancy.Floats || bTest == Bouyancy.Drifts || bTest==Bouyancy.Sinks);
}
public static readonly DependencyProperty IsDirtyProperty = DependencyProperty.Register(
"IsDirty",
typeof(Boolean),
typeof(AquariumObject3)
);
}
Public MustInherit Class AquariumObject3
Inherits DependencyObject
Public Enum Bouyancy
Floats
Sinks
Drifts
End Enum
Public Shared ReadOnly BouyancyProperty As DependencyProperty = DependencyProperty.RegisterAttached("Bouyancy", GetType(Bouyancy), GetType(AquariumObject3), New FrameworkPropertyMetadata(Bouyancy.Floats, FrameworkPropertyMetadataOptions.AffectsArrange), New ValidateValueCallback(AddressOf ValidateBouyancy))
Public Shared Sub SetBouyancy(ByVal element As UIElement, ByVal value As Bouyancy)
element.SetValue(BouyancyProperty, value)
End Sub
Public Shared Function GetBouyancy(ByVal element As UIElement) As Bouyancy
Return CType(element.GetValue(BouyancyProperty), Bouyancy)
End Function
Private Shared Function ValidateBouyancy(ByVal value As Object) As Boolean
Dim bTest As Bouyancy = CType(value, Bouyancy)
Return (bTest = Bouyancy.Floats OrElse bTest = Bouyancy.Drifts OrElse bTest = Bouyancy.Sinks)
End Function
Public Shared ReadOnly IsDirtyProperty As DependencyProperty = DependencyProperty.Register("IsDirty", GetType(Boolean), GetType(AquariumObject3))
End Class
注釈
クラスはDependencyObject、その多くの派生クラスでWindows Presentation Foundation (WPF) プロパティ システム サービスを有効にします。
プロパティ システムの主な関数は、プロパティの値を計算し、変更された値に関するシステム通知を提供することです。 プロパティ システムに参加するもう 1 つのキー クラスは です DependencyProperty。 DependencyProperty は、プロパティ システムへの依存関係プロパティの登録を可能にし、各依存関係プロパティに関する識別と情報を提供します。一方 DependencyObject 、基底クラスとして、オブジェクトは依存関係プロパティを使用できます。
DependencyObject サービスと特性は次のとおりです。
依存関係プロパティのホスティングのサポート。 依存関係プロパティを登録するには、 メソッドを Register 呼び出し、メソッドの戻り値をパブリック静的フィールドとしてクラスに格納します。
添付プロパティホスティングのサポート。 添付プロパティを登録するには、 メソッドを RegisterAttached 呼び出し、メソッドの戻り値をパブリック静的読み取り専用フィールドとしてクラスに格納します。 (追加のメンバー要件もあります。これは、添付プロパティの WPF 固有の実装を表します。詳細については、「 添付プロパティの概要」を参照してください)。添付プロパティは、 から DependencyObject派生する任意のクラスに設定できます。
に存在する依存関係プロパティの値のユーティリティ メソッドを取得、設定、およびクリアします DependencyObject。
メタデータ、強制値のサポート、プロパティ変更通知、依存関係プロパティまたは添付プロパティのコールバックのオーバーライド。 また、 クラスは DependencyObject 、依存関係プロパティの所有者ごとのプロパティ メタデータを容易にします。
、Freezable、または VisualからContentElement派生したクラスの共通基底クラス。 (UIElementもう 1 つの基本要素クラスには、 を含む Visualクラス階層があります)。
コンストラクター
DependencyObject() |
DependencyObject クラスの新しいインスタンスを初期化します。 |
プロパティ
DependencyObjectType |
このインスタンスの DependencyObjectType CLR 型をラップする を取得します。 |
Dispatcher |
この Dispatcher が関連付けられている DispatcherObject を取得します。 (継承元 DispatcherObject) |
IsSealed |
このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。 |
メソッド
CheckAccess() |
呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。 (継承元 DispatcherObject) |
ClearValue(DependencyProperty) |
プロパティのローカル値をクリアします。 クリアするプロパティは DependencyProperty 識別子で指定されます。 |
ClearValue(DependencyPropertyKey) |
読み取り専用プロパティのローカル値を消去します。 消去するプロパティは、DependencyPropertyKey で指定します。 |
CoerceValue(DependencyProperty) |
指定した依存関係プロパティの値を強制します。 これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。 |
Equals(Object) |
指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。 |
GetHashCode() |
この DependencyObject のハッシュ コードを取得します。 |
GetLocalValueEnumerator() |
どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。 |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
GetValue(DependencyProperty) |
DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。 |
InvalidateProperty(DependencyProperty) |
指定した依存関係プロパティの有効値を再評価します。 |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
この DependencyObject の依存関係プロパティの有効値が更新された場合に必ず呼び出されます。 変更された特定の依存関係プロパティは、イベント データで報告されます。 |
ReadLocalValue(DependencyProperty) |
ローカルの依存関係プロパティの値を返します (存在する場合)。 |
SetCurrentValue(DependencyProperty, Object) |
依存関係プロパティ値のソースを変更せずにその値を設定します。 |
SetValue(DependencyProperty, Object) |
依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。 |
SetValue(DependencyPropertyKey, Object) |
依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。 |
ShouldSerializeProperty(DependencyProperty) |
シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。 |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
VerifyAccess() |
呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。 (継承元 DispatcherObject) |
適用対象
こちらもご覧ください
.NET