Binding.FallbackValue Binding.FallbackValue Binding.FallbackValue Binding.FallbackValue Property


Gets or sets the value to use when the binding is unable to return a value.

public : Platform::Object FallbackValue { get; set; }
winrt::Windows::Foundation::IInspectable FallbackValue();

void FallbackValue(winrt::Windows::Foundation::IInspectable fallbackvalue);
public object FallbackValue { get; set; }
Public ReadWrite Property FallbackValue As object
<Binding FallbackValue="fallbackValue" />

Property Value

object object

The value to use when the binding is unable to return a value.


Usually you specify FallbackValue for bindings that display strings in UI. For this case the FallbackValue is also a string. You might want to use a resource so that it's easier to localize this string.

If you do specify a literal string for FallbackValue, you must use alternate quotes for the FallbackValue value within the {Binding} markup extension usage if your string contains spaces, because the {Binding} markup extension usage for an attribute is already within quotes. For example, <object property="{Binding FallbackValue='A literal string'}" />.

If used within a {Binding} markup extension usage, the value for FallbackValue can use any implicit string conversions that are already available to XAML, such as treating 0 as a string for a string binding, or converting enum values. For example, <object property="{Binding Path=Visibility, FallbackValue=Collapsed}" /> is valid because the parser can evaluate the string "Collapsed" and return Visibility.Collapsed as the fallback for a Visibility value.

TargetNullValue is a similar property with similar scenarios. The difference is that a binding uses FallbackValue for cases where the Path doesn't evaluate on the data source at all, or if attempting to set it on the source with a two-way binding throws an exception that's caught by the data binding engine. FallbackValue is also used if the source value is the dependency property sentinel value DependencyProperty.UnsetValue. A binding uses TargetNullValue if the Path and Source do evaluate, but the value found there is null.

You can't set the property values of a Binding object after that binding has been attached to a target element and target property. If you attempt this you'll get a run-time exception.

See also