PriorityBinding クラス

定義

1 つのバインド ターゲット プロパティに関連付けられた Binding オブジェクトのコレクションを記述します。このプロパティは、コレクション内の正常に値を生成する最初のバインドからその値を受け取ります。Describes a collection of Binding objects that is attached to a single binding target property, which receives its value from the first binding in the collection that produces a value successfully.

public ref class PriorityBinding : System::Windows::Data::BindingBase, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("Bindings")]
public class PriorityBinding : System.Windows.Data.BindingBase, System.Windows.Markup.IAddChild
type PriorityBinding = class
    inherit BindingBase
    interface IAddChild
Public Class PriorityBinding
Inherits BindingBase
Implements IAddChild
継承
属性
実装

注釈

PriorityBindingバインディングターゲット (ターゲット) プロパティをバインドの一覧に関連付けることができます。PriorityBinding lets you associate a binding target (target) property with a list of bindings. 値が正常に返された最初のバインディングがアクティブバインドになります。The first binding that returns a value successfully becomes the active binding.

バインドは、次の場合に値を正常に返します。A binding returns a value successfully if:

  1. バインディングソースへのパスが正常に解決されます。The path to the binding source resolves successfully.

  2. 値コンバーター (存在する場合) は、結果の値を変換できます。The value converter, if any, is able to convert the resulting value.

  3. 結果の値は、ターゲットプロパティに対して有効です。The resulting value is valid for the target property.

DependencyProperty.UnsetValueは、正常な戻り値とは見なされません。The value DependencyProperty.UnsetValue is not considered a successful return value.

バインドの優先順位は、一覧内での順序によって決まります。The priority of the bindings is determined by their order in the list. リストの最初に表示されるバインディングの優先順位は最も高くなります。The binding that appears first in the list has the highest priority.

バインドエンジンは、リスト内の最初のバインドから開始し、そのバインドが値を正常に返すかどうかを検証します。その場合は、そのバインドの値が使用されます。The binding engine starts with the first binding in the list and verifies whether that binding returns a value successfully; if it does, the value from that binding is used. 最初のバインディングが値を正常に返さない場合、バインディングエンジンは2番目のバインディングを調べて、値が正常に返されるかどうかを判断します。その場合、2番目のバインドの値がアクティブな値になります。If the first binding does not return a value successfully, the binding engine examines the second binding to determine whether it returns a value successfully; if it does, the value from the second binding becomes the active value. この検証プロセスは、バインドの一覧の最後まで続きます。This verification process continues to the end of the list of bindings. バインディングによって値が正常に返されない場合、バインディングFallbackValueはを使用します。If none of the bindings returns a value successfully, the binding uses the FallbackValue.

バインドエンジンは、すべてのバインドの変更をリッスンし続けます。The binding engine continues to listen for changes on all bindings. 優先順位の高いバインディングのいずれかが値を正常に返す場合、そのバインディングの値はアクティブな値になり、現在の値に置き換えられます。If at any point one of the bindings that has a higher priority returns a value successfully, the value for that binding becomes the active value and replaces the current value.

コンストラクター

PriorityBinding()

PriorityBinding クラスの新しいインスタンスを初期化します。Initializes a new instance of the PriorityBinding class.

プロパティ

BindingGroupName

そのバインディングが属している BindingGroup の名前を取得または設定します。Gets or sets the name of the BindingGroup to which this binding belongs.

(継承元 BindingBase)
Bindings

Binding のこのインスタンスで確立されている PriorityBinding オブジェクトのコレクションを取得します。Gets the collection of Binding objects that is established for this instance of PriorityBinding.

Delay

ターゲット上の値が変更された後でバインディング ソースを更新する前に待機する時間 (ミリ秒単位) を取得または設定します。Gets or sets the amount of time, in milliseconds, to wait before updating the binding source after the value on the target changes.

(継承元 BindingBase)
FallbackValue

バインドが値を返すことができないときに使用する値を取得または設定します。Gets or sets the value to use when the binding is unable to return a value.

(継承元 BindingBase)
StringFormat

バインドされている値が文字列として表示される場合に、バインディングの書式を指定する文字列を取得または設定します。Gets or sets a string that specifies how to format the binding if it displays the bound value as a string.

(継承元 BindingBase)
TargetNullValue

ソースの値が null のときにターゲットで使用される値を取得または設定します。Gets or sets the value that is used in the target when the value of the source is null.

(継承元 BindingBase)

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ProvideValue(IServiceProvider)

このバインディングおよび拡張機能の適用先のプロパティに設定されるオブジェクトを返します。Returns an object that should be set on the property where this binding and extension are applied.

(継承元 BindingBase)
ShouldSerializeBindings()

シリアル化プロセスが、このクラスのインスタンスの Bindings プロパティの有効値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the effective value of the Bindings property on instances of this class.

ShouldSerializeFallbackValue()

シリアル化プロセスが、このクラスのインスタンスの FallbackValue プロパティの有効値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the effective value of the FallbackValue property on instances of this class.

(継承元 BindingBase)
ShouldSerializeTargetNullValue()

TargetNullValue プロパティをシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether the TargetNullValue property should be serialized.

(継承元 BindingBase)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

明示的なインターフェイスの実装

IAddChild.AddChild(Object)

このメンバーは、Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) インフラストラクチャをサポートしますが、独自に作成したコードから直接使用するためのものではありません。This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

IAddChild.AddText(String)

このメンバーは、Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) インフラストラクチャをサポートしますが、独自に作成したコードから直接使用するためのものではありません。This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

適用対象

こちらもご覧ください