TextBox を文字列値にバインドしました
Text="{Binding AgeText, Mode=TwoWay}"
文字列「0」のstring.emptyまたは「」、および他のすべての文字列を元の値で表示するにはどうすればよいですか?
助けてくれてありがとう!
乾杯
PS: 1 つの方法は、文字列のカスタム ViewModel です..しかし、可能であれば、XAML で直接行うことをお勧めします。
TextBox を文字列値にバインドしました
Text="{Binding AgeText, Mode=TwoWay}"
文字列「0」のstring.emptyまたは「」、および他のすべての文字列を元の値で表示するにはどうすればよいですか?
助けてくれてありがとう!
乾杯
PS: 1 つの方法は、文字列のカスタム ViewModel です..しかし、可能であれば、XAML で直接行うことをお勧めします。
http://www.codeproject.com/KB/books/0735616485.aspxで何かを見つけました。
これでうまくいきます。
Text="{Binding AgeText, StringFormat='\{0:#0;(#0); }'}"
乾杯
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)
{
}
}
ここでは Age プロパティは明らかに数値であるため、Age を int として公開し、次のStringFormat
属性を使用する方法もありますBinding
。
Text="{Binding Age, Mode=TwoWay, StringFormat='{}{0:#}'}"