TargetNullValue 属性

Binding.TargetNullValue Property

获取或设置当源的值为 null 时在目标中使用的值。

语法


public object TargetNullValue { get; set; }


<Binding TargetNullValue="nullValueString" />



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


XAML Values

nullValueString

一个字符串,如果源为 null,则可转换该字符串来为 XAML 中的 Binding 目标提供值。

nullValue

一个对象元素实例,如果源为 null,则该实例可为 XAML 中的 Binding 目标提供值。

属性值

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

当源的值为 null 时在绑定目标中使用的值。

备注

TargetNullValue 可能用于绑定,以便将仅对某些项中缺失的信息使用 null 的集合和源数据进行绑定。它还可能用于这样的一般情况:数据来自一个使用 null 值作为源消息表明某事的数据库,如需要用户给出更多信息而且在源中不完整的记录。

有两种使用 TargetNullValue 行为(在 Binding 中)的建议模式:

  • 绑定源提供通过不同路径访问的一个单独的值,它充当可以替代来自数据源中的特定数据项的所有 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 是具有类似方案的类似属性。区别在于,对于以下情况,绑定将使用 FallbackValuePathSource 根本不针对数据源进行计算,或者尝试使用双向绑定对数据源设置该项时引发了异常。它使用 TargetNullValue,如果 Path 进行计算,但找到的值是 null

你不能在绑定附加到目标元素和目标属性后设置 Binding 对象的属性值。 如果你尝试此设置,你将收到运行时异常信息。

要求

最低支持客户端

Windows 8.1

最低支持服务器

Windows Server 2012 R2

命名空间

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

元数据

Windows.winmd

另请参见

Binding
FallbackValue
XAML 数据绑定示例
数据绑定概述

 

 

显示:
© 2016 Microsoft