ValueSource.IsExpression プロパティ


この値が評価された式から生成されたものであるかどうかを宣言する値を取得します。Gets a value that declares whether this value resulted from an evaluated expression. このような式には、バインディングをサポートする BindingExpression や、DynamicResource マークアップ拡張をサポートする内部式があります。This might be a BindingExpression supporting a binding, or an internal expression such as those that support the DynamicResource Markup Extension.

 property bool IsExpression { bool get(); };
public bool IsExpression { get; }
member this.IsExpression : bool
Public ReadOnly Property IsExpression As Boolean


値が評価された式から導き出された場合は true。それ以外の場合は falsetrue if the value came from an evaluated expression; otherwise, false.


評価された式は、式が適用された特定の基本値の設定条件ものBaseValueSource値として報告します。An evaluated expression will also report the specific base value setting condition where the expression was applied, as a value in BaseValueSource. BaseValueSource 、がIsExpressionの場合でも、すべてのプロパティに対して非常に重要です。trueThe BaseValueSource is still very relevant for any property where IsExpression is true. 値が式によって取得されたかどうかを把握することは、テンプレートや継承されたプロパティ値などによって値が間接的に設定された場合に特に便利です。Knowing whether a value came through an expression can be particularly useful if the value was set indirectly, such as through a template or an inherited property value.

式の評価に失敗した場合 (バインディングに失敗した場合、その名前のリソースが見つからなかった場合)、値はプロパティシステムの他の参加要素から取得されます (既定値)。If an expression fails to evaluate (the binding failed; no resource of that name was found), then the value will come from some other participant in the property system, most likely the default value. そのソースは、でBaseValueSource報告されます。That source is then reported in BaseValueSource. 失敗した式のfalse評価IsExpressionは、に対してを返します。Failed expression evaluations will return false for IsExpression.