【发布时间】:2016-09-15 11:32:49
【问题描述】:
我在使用可观察集合时遇到了性能问题。 这个 foreach 与一个组合框绑定(MaAcquisition 是一个可观察的集合):
for (double i = 0.1; i <= 5; i += 0.1)
{
MaAcquisition.Add($"{i:0.0}");
x++;
}
有了这个foreach,每个循环,我都将值绑定到组合框,非常慢。
为了改善这一点,我这样做了:
List<String> MaAcquisitionList = new List<String>();
for (double i = 0.1; i <= 5; i += 0.1)
{
MaAcquisitionList.Add($"{i:0.0}");
x++;
}
MaAcquisition = MaAcquisitionList;
它正在工作,但是在这个“foreach”之后我做了一个绑定来选择“selectedItem”=>
SelectedMa = MaAcquisition[x - 1];
所选项目已绑定到我的组合框,但它不起作用(所选项目为空白)。
<ComboBox ItemsSource="{Binding MaAcquisition, Mode=TwoWay}" SelectedItem="{Binding SelectedMa, Mode=TwoWay}" IsEnabled="{Binding PreheatingDisable}"/>
最后,还有“SelectedMa”的代码:
public string SelectedMa
{
get { return _selectedMa; }
set
{
_selectedMa= value;
OnPropertyChanged();
RaisePropertyChanged();
}
你对这个问题有什么想法吗?
谢谢。
【问题讨论】:
-
您能显示
SelectedMa属性/字段的代码吗? -
SelectedMa 应该通知更改。请参阅 INotifyPropertyChanged 示例。