我必將我的文本框爲一個字符串值通過C#/ WPF顯示自定義字符串(如更換「0」的String.Empty)
Text="{Binding AgeText, Mode=TwoWay}"
如何顯示的String.Empty或「」爲字符串「0」和所有其他字符串與他們的原始值?
感謝您的幫助!
乾杯
PS:一種方法是對字符串的自定義視圖模型..但我寧願直接莫名其妙地做在XAML,如果可能的話。
我必將我的文本框爲一個字符串值通過C#/ WPF顯示自定義字符串(如更換「0」的String.Empty)
Text="{Binding AgeText, Mode=TwoWay}"
如何顯示的String.Empty或「」爲字符串「0」和所有其他字符串與他們的原始值?
感謝您的幫助!
乾杯
PS:一種方法是對字符串的自定義視圖模型..但我寧願直接莫名其妙地做在XAML,如果可能的話。
我認爲除了使用ViewModel之外,唯一的方法是創建一個自定義ValueConverter。
所以基本上你的選擇是:
視圖模型:
private string ageText;
public string AgeText{
get{
if(ageText.equals("0"))
return string.empty;
return ageText;
}
...
}
ValueConverter:
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)
{
}
}
由於年齡屬性顯然是一個數這裏的別的路可走。將將年齡公開爲int並使用的屬性Binding
:
Text="{Binding Age, Mode=TwoWay, StringFormat='{}{0:#}'}"
我發現http://www.codeproject.com/KB/books/0735616485.aspx
某事,這將這樣的伎倆:
Text="{Binding AgeText, StringFormat='\{0:#0;(#0); }'}"
乾杯
我會去與自定義ValueConverter – 2009-07-09 09:23:01
非常感謝! ValueConverter就是我一直在尋找的東西。 乾杯 – 2009-07-09 09:27:14