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 值作为源信息来表示某些内容的数据库,例如需要用户提供更多信息且源中不完整的记录。
在 绑定中使用 TargetNullValue 行为有两种建议模式:
- 绑定源提供一个单独的值,由不同的路径访问,该值充当单一实例值,可以替换来自源中特定数据项的任何 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 确实计算,但找到的值为 null,则使用 TargetNullValue。
在绑定已附加到目标元素和目标属性之后,无法设置 Binding 对象的属性值。 如果尝试此操作,将收到运行时异常。