Binding.FallbackValue 属性

定义

获取或设置当绑定无法返回值时要使用的值。

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>

属性值

Object

Platform::Object

IInspectable

绑定无法返回值时要使用的值。

注解

通常,为在 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。 如果 PathSource 确实计算,但找到的值为 null,则绑定使用 TargetNullValue

在绑定已附加到目标元素和目标属性之后,无法设置 Binding 对象的属性值。 如果尝试此操作,将收到运行时异常。

适用于

另请参阅