Binding.TargetNullValue Property

ソースの値が null のときにターゲットで使用される値を取得または設定します。

構文


Public Property TargetNullValue As Object
   Get
   Set


<Binding TargetNullValue="nullValueString" />



<Binding>
  <Binding.TargetNullValue>
    nullValue
  </Binding.TargetNullValue>
</Binding>


XAML Values

nullValueString

ソースが null の場合に、XAML 内の Binding ターゲットに値を提供するために変換できる文字列。

nullValue

ソースが null の場合に、Binding ターゲットに XAML で値を提供できるオブジェクト要素インスタンス。

プロパティ値

型: System.Object [.NET] | Platform::Object [C++]

ソースの値が null のときにバインディング ターゲットで使用される値。

解説

TargetNullValue はコレクションをバインドするバインディングに使用することができ、ソース データは項目の一部でのみ見つからない情報に null を使用します。また、ユーザーからの追加情報を必要とするレコードや、ソース中で完全でないレコードなど、何かを示すソース情報として null 値を使うデータベースからデータを取得するような、一般的な場合に使用されることもあります。

BindingTargetNullValue の動作を使用する、2 つの推奨パターンがあります:

  • バインディング ソースは、ソースの特定のデータ項目からの任意の null 値と置き換えることができるシングルトン値として機能する、別のパスでアクセスされる複数の値を提供します。例を次に示します。
    
    <Button Content="{Binding Path=NextItem, Mode=OneWay, TargetNullValue={Binding Path=NullValue}}" />
    
    
    ここで、NullValue は代替値へのパスであり、他の Binding によって参照されます。
  • データ ソースにより null が生成され、代入値として使用する適切なプロパティが別のパスにない場合は、リソースを使用してアプリ固有の値を生成します。例を次に示します。
    
    <Button Content="{Binding Path=NextItem, Mode=OneWay, TargetNullValue={StaticResource AppStringForNullInAStringABinding}}" />
    
    
    ここで、AppStringForNullInAStringABinding は "(値がありません)" のようなリソース文字列で、ほとんどの場合はデータが存在するはずであるにもかかわらず、この特定の項目にはソースからのデータがないことをユーザーに通知します。値をローカライズできるようにリソースを使用します。

FallbackValue は類似のシナリオを持つ類似のプロパティです。違いは、PathSource がデータ ソースでまったく評価しない場合にバインディングが FallbackValue を使用すること、または双方向バインディングのソースに設定しようとするとバインディングが例外をスローするかどうかということです。Path が評価したが、見つかった値が null である場合、TargetNullValue を使用します。

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

要件

最小限サポートされるクライアント

Windows 8.1

最小限サポートされるサーバー

Windows Server 2012 R2

名前空間

Windows.UI.Xaml.Data
Windows::UI::Xaml::Data [C++]

メタデータ

Windows.winmd

参照

Binding
FallbackValue
データ バインドのサンプル
データ束縛の概要

 

 

表示:
© 2014 Microsoft