Эй, ребята, кто-нибудь может объяснить мне, почему это не выдает "VALUE IS DEFAULT"?
<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue=DEFAULT}" />
Есть что-то хитрое в этом синтаксисе, который я пропускаю. Заранее спасибо.
Привязка в WPF не учитывает StringFormat при возврате к FallbackValue в случае сбоя.
Вы можете использовать то, что Леон предложил или пойти с PriorityBinding .
- EDIT -
Это должно работать:
<TextBlock DataContext="{Binding Fail, FallbackValue=DEFAULT}" Text="{Binding StringFormat=VALUE IS {0}}" />
Я думаю, что это также может работать с использованием прогонов внутри TextBlock:
<TextBlock> <Run Text="Value is : "/> <Run Text="{Binding Fail,FallbackValue=Default}"/> </TextBlock>
?
Резервное значение по умолчанию используется для привязок приоритетов, если вы хотите отобразить «VALUE IS DEFAULT» для резервного значения, попробуйте следующее.
<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue='VALUE IS DEFAULT'}" />