Binding.FallbackValue プロパティ

定義

バインドが値を返すことができないときに使用する値を取得または設定します。

public:
 property Platform::Object ^ FallbackValue { Platform::Object ^ get(); void set(Platform::Object ^ value); };
IInspectable FallbackValue();

void FallbackValue(IInspectable value);
public object FallbackValue { get; set; }
var object = binding.fallbackValue;
binding.fallbackValue = object;
Public Property FallbackValue As Object
<Binding FallbackValue="fallbackValue" />
- or -
<Binding>
  <Binding.FallbackValue>
    fallbackValue
    </Binding.FallbackValue>
</Binding>

プロパティ値

Object

Platform::Object

IInspectable

バインドが値を返すことができないときに使用する値。

注釈

通常、UI に文字列を表示するバインドには FallbackValue を指定します。 この場合、FallbackValue は文字列でもあります。 この文字列をローカライズしやすくするために、リソースを使用する必要がある場合があります。

FallbackValue にリテラル文字列を指定する場合は、属性の {Binding} マークアップ拡張機能の使用が既に引用符内にあるため、文字列にスペースが含まれている場合は、{Binding} マークアップ拡張機能の使用法内で代替引用符を使用する必要があります。 たとえば、「 <object property="{Binding FallbackValue='A literal string'}" /> 」のように入力します。

{Binding} マークアップ拡張機能の使用内で使用する場合、FallbackValue の値は、文字列バインディングの文字列として 0 を扱う、列挙型の値を変換するなど、XAML で既に使用できる暗黙的な文字列変換を使用できます。 たとえば、 <object property="{Binding Path=Visibility, FallbackValue=Collapsed}" /> は有効です。パーサーは文字列 "Collapsed" を評価し、 Visibility.CollapsedVisibility 値のフォールバックとして返すことができます。

TargetNullValue は、同様のシナリオを持つ同様のプロパティです。 違いは、 Path がデータ ソースでまったく評価されない場合、または双方向バインディングを使用してソースに設定しようとすると、データ バインディング エンジンによってキャッチされる例外がスローされる場合に、バインディングで FallbackValue が使用される点です。 FallbackValue は、ソース値が依存関係プロパティの sentinel 値 DependencyProperty.UnsetValue の場合にも使用されます。 PathSource が評価される場合、バインディングでは TargetNullValue が使用されますが、見つかった値は null です

バインドがターゲット要素とターゲット プロパティにアタッチされた後は、 Binding オブジェクトのプロパティ値を設定できません。 これを試みると、実行時の例外が発生します。

適用対象

こちらもご覧ください