私は観察可能なコレクションでパフォーマンスの問題があります。 このforeachのは(MaAcquisitionが観察コレクションです)コンボボックスにバインドされ:このforeachの、すべてのループでwpfはパフォーマンスバインディングを向上させる巨大なobservablecollection
for (double i = 0.1; i <= 5; i += 0.1)
{
MaAcquisition.Add($"{i:0.0}");
x++;
}
が、私はコンボボックスに値をバインドし、それは非常に遅いです。
だから、これを改善するために、私はこれを行う:
List<String> MaAcquisitionList = new List<String>();
for (double i = 0.1; i <= 5; i += 0.1)
{
MaAcquisitionList.Add($"{i:0.0}");
x++;
}
MaAcquisition = MaAcquisitionList;
それは作業が、私は「のSelectedItem」=>
SelectedMa = MaAcquisition[x - 1];
選択項目がバインドされ選択するバインディングん、この「foreachの」後です私のコンボボックスには、それが動作していない(選択された項目は空白です)。
public string SelectedMa
{
get { return _selectedMa; }
set
{
_selectedMa= value;
OnPropertyChanged();
RaisePropertyChanged();
}
あなたはこの問題のためにアイデアを持っていますか:
<ComboBox ItemsSource="{Binding MaAcquisition, Mode=TwoWay}" SelectedItem="{Binding SelectedMa, Mode=TwoWay}" IsEnabled="{Binding PreheatingDisable}"/>
そして最後に、 "SelectedMa" のためのコードはありますか?
ありがとうございます。
'SelectedMa'プロパティ/フィールドのコードを表示できますか? – slugster
ここをクリックしてください: http://stackoverflow.com/questions/8606994/adding-a-range-of-values-to-an-observablecollection-効率的 –
SelectedMaは変更を通知する必要があります。 INotifyPropertyChangedの例を参照してください。 – AnjumSKhan