我有一個可觀察集合的性能問題。 (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