数据绑定 - Lozalized FallbackValue/TargetNullValue 等
本文关键字:TargetNullValue FallbackValue Lozalized 数据绑定 | 更新日期: 2023-09-27 18:35:48
在我的Windows Phone 8 C#/XAML .NET 4.5应用程序中,我正在使用来自ViewModel的数据绑定,它工作正常。
我希望在以下情况下将来自 LocalizedResources 的 lozalized 字符串显示为按钮的内容:
-
绑定返回的值为
null
-
无法解析绑定
如何实现这一点?
我试图做的是:
(省略TargetNullValue
,因为这样做的方法可能是一样的)
(出于演示目的,我将资源设置为应用程序标题)
<Button ... Content="{Binding Something, FallbackValue={Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}}" ... />
但我得到的是像System.Windows.Text.Data.Binding...
这样的文本(无法阅读更多,因为它不在屏幕外)。
做了一些谷歌搜索/"堆栈溢出",并在WP7的值转换器中找到了一些东西,这让我有点困惑。
(并添加了 C# 标签,因为我有一种感觉,仅仅通过将正确的"属性"添加到"属性"的标签/值中是无法解决的,尽管我很感激)
我很确定你不能对回退值应用绑定。一个非常简单的解决方法是在"某物"属性中检查空值。
private string _something;
public string Something
{
get { return _something ?? AppResources.ApplicationTitle; }
set
{
_something = value;
OnPropertyChanged("Something");
}
}