Binding.FallbackValue Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the value to use when the binding is unable to return a value.
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>
Property Value
The value to use when the binding is unable to return a value.
Remarks
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.