Binding.FallbackValue 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置当绑定无法返回值时要使用的值。
public:
property Platform::Object ^ FallbackValue { Platform::Object ^ get(); void set(Platform::Object ^ value); };
IInspectable FallbackValue();
void FallbackValue(IInspectable value);
public object FallbackValue { get; set; }
var object = binding.fallbackValue;
binding.fallbackValue = object;
Public Property FallbackValue As Object
<Binding FallbackValue="fallbackValue" />
- or -
<Binding>
<Binding.FallbackValue>
fallbackValue
</Binding.FallbackValue>
</Binding>
属性值
绑定无法返回值时要使用的值。
注解
通常,为在 UI 中显示字符串的绑定指定 FallbackValue。 在这种情况下,FallbackValue 也是一个字符串。 你可能想要使用资源,以便更轻松地本地化此字符串。
如果确实为 FallbackValue 指定了文本字符串,则必须在 {Binding} 标记扩展用法中使用备用引号作为 {Binding} 标记扩展 的值(如果字符串包含空格),因为属性的 {Binding} 标记扩展 用法已在引号内。 例如 <object property="{Binding FallbackValue='A literal string'}" />
。
如果在 {Binding} 标记扩展 用法中使用,则 FallbackValue 的值可以使用 XAML 已可用的任何隐式字符串转换,例如将 0 视为字符串绑定的字符串,或转换枚举值。 例如, 有效, <object property="{Binding Path=Visibility, FallbackValue=Collapsed}" />
因为分析程序可以计算字符串“Collapsed”,并返回 Visibility.Collapsed 作为 Visibility 值的回退。
TargetNullValue 是具有类似方案的属性。 区别在于,如果 Path 根本不在数据源上求值,或者尝试使用双向绑定在源上设置它,则会引发数据绑定引擎捕获的异常,则绑定使用 FallbackValue。 如果源值为依赖属性 sentinel 值 DependencyProperty.UnsetValue,则也使用 FallbackValue。 如果 Path 和 Source 确实计算,但找到的值为 null,则绑定使用 TargetNullValue。
在绑定已附加到目标元素和目标属性之后,无法设置 Binding 对象的属性值。 如果尝试此操作,将收到运行时异常。