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
是替代值的路径,由另一个 绑定引用。
- 如果数据源提供 null ,并且其他路径中没有合适的属性用作替换值,请使用资源提供特定于你的应用的值。 例如:
<Button Content="{Binding Path=NextItem, Mode=OneWay, TargetNullValue={StaticResource AppStringForNullInAStringABinding}}"/>
此处, AppStringForNullInAStringABinding
是类似于“ (值不可用) ”的资源字符串,它让用户知道大部分数据中应该存在数据,但此特定项没有来自其源的数据。 使用资源,使值可以本地化。
FallbackValue 是具有类似方案的属性。 区别在于,如果路径和源根本不会在数据源上求值,或者尝试使用双向绑定在源上设置它时引发异常,则绑定使用 FallbackValue。 如果 Path 确实计算,但找到的值为 null,则使用 TargetNullValue。
在绑定已附加到目标元素和目标属性之后,无法设置 Binding 对象的属性值。 如果尝试此操作,则会收到运行时异常。