方法一:
public class DecimalConverter:IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value.ToString().EndsWith(".") ? "." : value;
}
}
<Window.Resources>
<localHelper:decimalConverter x:Key="decimalConverter" />
</Window.Resources>
<TextBox Text="{Binding Qty,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource decimalConverter}}" />
方法二:
在 public partial class App : Application 里重写OnStartup方法
protected override void OnStartup(StartupEventArgs e)
{
//设置一个值,此值指示数据绑定 TextBox 是否应显示与源的 Text 属性值一致的字符串 为false
System.Windows.FrameworkCompatibilityPreferences.KeepTextBoxDisplaySynchronizedWithTextProperty = false;
base.OnStartup(e);
}
本文介绍两种在WPF应用程序中实现数值转换的方法。一种是通过自定义`IValueConverter`类来处理数值转换,确保数值能在文本框中正确显示;另一种是在启动程序时调整`FrameworkCompatibilityPreferences`设置,避免文本框显示与源数据不一致的问题。
928

被折叠的 条评论
为什么被折叠?



