My ComboBox的ItemsSource
绑定到List<double> options
,SelectedItem
绑定到属性double SelectedOption
。
如果options
包含值0.0060F, 0.0075F, 0.0100F
和SelectedItem = 0.0060F
,则组合框应该但不应该反映这一点。相反,选择组合框会显示options
列表项及其奇怪的十进制表示。是否有可能对具有不可预测表示的double
类型的变量进行数据绑定?
代码
ViewModel:
//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}" />
组合框中显示的选项有:
- 0.00600000005215406
- 0.00749999983236194
- 0.00999999977648258
也许您应该了解浮点是什么:http://csharpindepth.com/Articles/General/FloatingPoint.aspx
这些值用于提供尽可能接近实际的数字表示。如果您想要精确的值,请使用System.Decimal