我有一个可观察集合的性能问题。 (MaAcquisition是可观察集合) 这是的foreach用绑定的组合框:wpf提高性能绑定巨大的observablecollection
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'属性/字段的代码吗? – slugster
你可以看看这里: http://stackoverflow.com/questions/8606994/adding-a-range-of-values-to-an-observablecollection-efficiently –
SelectedMa应该通知变化。请参阅INotifyPropertyChanged示例。 – AnjumSKhan