我的ComboBox的ItemsSource
绑定到List<double> options
,SelectedItem
绑定到属性double SelectedOption
。
如果options
包含值0.0060F, 0.0075F, 0.0100F
和SelectedItem = 0.0060F
,则ComboBox应该但不会反映这一点。相反,选择ComboBox会显示options
列表项及其奇怪的十进制表示。是否有可能对类型为double
的变量进行数据绑定,其表达方式不可预测?
代码
视图模型:
//Properties
public List<double> Options{get;set;}
public double SelectedOption{get;set;}
//Constructor
public ViewModel()
{
Options = new List<double>();
Options.Add(0.0060F);
Options.Add(0.0075F);
Options.Add(0.0100F);
SelectedOption = 0.0060F;
}
结合:
<ComboBox ItemsSource="{Binding Path=Options}"
SelectedItem="{Binding Path=SelectedOption, Mode=TwoWay}" />
ComboBox中显示的选项是:
答案 0 :(得分:2)
也许您应该阅读浮点数:http://csharpindepth.com/Articles/General/FloatingPoint.aspx
这些值用于尽可能接近数字的真实表示。如果需要精确值,请使用System.Decimal