Binding.TargetNullValue プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ソースの値が null の場合にターゲットで使用される値を取得または設定 します。
public:
property Platform::Object ^ TargetNullValue { Platform::Object ^ get(); void set(Platform::Object ^ value); };
IInspectable TargetNullValue();
void TargetNullValue(IInspectable value);
public object TargetNullValue { get; set; }
var object = binding.targetNullValue;
binding.targetNullValue = object;
Public Property TargetNullValue As Object
<Binding TargetNullValue="nullValueString" />
- or -
<Binding>
<Binding.TargetNullValue>
nullValue
</Binding.TargetNullValue>
</Binding>
プロパティ値
ソースの値が null の場合にバインディング ターゲットで使用される値。
注釈
TargetNullValue は、コレクションをバインドするバインドに使用できます。ソース データでは、一部の項目でのみ不足している情報に 対して null が 使用されます。 また、データがソース情報として null 値を使用して何かを示すデータベースからデータが取得される一般的なケース (ユーザーからの詳細情報を必要とし、ソースで完全ではないレコードなど) にも使用できます。
Binding で TargetNullValue 動作を使用するには、次の 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 は、同様のシナリオを持つ同様のプロパティです。 違いは、Path と Source がデータ ソースでまったく評価されない場合、または双方向バインディングを使用してソースに設定しようとすると例外がスローされる場合に、バインディングで FallbackValue が使用される点です。 Path が評価される場合は TargetNullValue を使用しますが、見つかった値は null です。
Binding オブジェクトのプロパティ値は、そのバインドがターゲット要素とターゲット プロパティにアタッチされた後は設定できません。 これを試みると、実行時例外が発生します。