我已通过以下方式将我的 TextBox 绑定到一个字符串值
Text="{Binding AgeText, Mode=TwoWay}"
如何显示字符串“0”的 string.empty 或“”,以及所有其他具有原始值的字符串?
谢谢你的帮助!
干杯
PS:一种方法是字符串的自定义 ViewModel.. 但如果可能的话,我更愿意直接在 XAML 中以某种方式进行。
我已通过以下方式将我的 TextBox 绑定到一个字符串值
Text="{Binding AgeText, Mode=TwoWay}"
如何显示字符串“0”的 string.empty 或“”,以及所有其他具有原始值的字符串?
谢谢你的帮助!
干杯
PS:一种方法是字符串的自定义 ViewModel.. 但如果可能的话,我更愿意直接在 XAML 中以某种方式进行。
我认为除了使用 ViewModel 之外的唯一方法是创建自定义 ValueConverter。
所以基本上你的选择是:
视图模型:
private string ageText;
public string AgeText{
get{
if(ageText.equals("0"))
return string.empty;
return ageText;
}
...
}
值转换器:
public class AgeTextConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value.Equals("0"))
return string.Empty;
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
}
}
我在http://www.codeproject.com/KB/books/0735616485.aspx
上找到了一些东西,
这可以解决问题:
Text="{Binding AgeText, StringFormat='\{0:#0;(#0); }'}"
干杯
由于 Age 属性在这里显然是一个数字,另一种方法是将 Age 公开为 int 并使用 的StringFormat
属性Binding
:
Text="{Binding Age, Mode=TwoWay, StringFormat='{}{0:#}'}"