我有一個組合框,它從ObservableCollection中自動獲取元素。如果用戶通過單擊按鈕將元素添加到集合中。將一個項目的名稱添加到組合框(數據綁定)中。我怎樣才能實現選定的索引自動從集合中的新項目?C#在將新項目添加到ObservableCollection後更改SelectedIndex
回答
您可以綁定您的組合框的「SelectedIndex的」屬性,當你添加一個項目,您只需更新這個值是這樣的:
ObservableCollection<Item> list = new ObservableCollection<Item>();
IndexC = list.Count() - 1;
與你綁定的IndexC。
好吧,它的工作原理。謝謝 – LittleProgrammer
將您的ViewModel中的SelectedItem
屬性與ObservableCollection
一起公開,然後將ComboBox.SelectedItem
綁定到它。
然後,您可以在添加視圖模型的同時將SelectedItem
設置爲新添加的項目。
你不提是否要使用MVVM或代碼隱藏,但基本上會是這樣的:
XAML:
<ComboBox ItemsSource={Binding MyCollection}, SelectedItem={Binding MySelectedItem} />
代碼按一下按鈕(在視圖模型)
var element = new MyElement();
MyCollection.Add(element);
MySelectedItem = element;
如果您使用的視圖模型爲INotifyPropertyChanged
,這將僅適用,因爲組合需要知道何時更改MySelectedItem。
你的意思是這樣的:comboBox.SelectedItem = list?我沒有得到你的建議 – LittleProgrammer
已經更新了一個例子 – GazTheDestroyer
- 1. 將項目添加到ObservableCollection
- 2. 當項目添加到Silverlight中的ObservableCollection時,DataGrid不會更新
- 3. 將項添加到ObservableCollection不會更改ListView
- 4. 將新項目添加到列表後,ListView未更新
- 5. 將項目添加到ObservableCollection時更新ViewModel並傳遞過濾器<string>
- 6. ObservableCollection不更新項目源
- 7. 如何添加項目到ObservableCollection?
- 8. 如何異步更新到ObservableCollection項目?
- 9. 異步更新到ObservableCollection項目
- 10. 在ListView中添加新項目,然後更新到數據庫
- 11. 將項目添加到嵌套列表後更新GridView
- 12. ObservableCollection計數屬性添加項後未更新
- 13. 將數據項添加到observablecollection?
- 14. 如何在項目屬性更改時進行ObservableCollection更新
- 15. 如何在ObservableCollection項目更改時更新ListBox?
- 16. DataGrid項目不在ObservableCollection上更新
- 17. 添加新項目後,TFS項目列表未更新
- 18. 添加項目基礎上的selectedIndex
- 19. 我如何BringToView添加到綁定的最新項目ObservableCollection
- 20. 如何綁定新行甚至添加到ObservableCollection項目
- 21. 將C++ OpenBLAS庫添加到c#項目
- 22. 將C++庫添加到eclipse C++項目
- 23. 將C++ DLL添加到C#項目
- 24. 我需要將observablecollection添加到observablecollection。
- 25. 將項目添加到來自ThreadPool的ObservableCollection
- 26. 將項目添加到ObservableCollection時出現NullReferenceException
- 27. 更新ObservableCollection綁定到樞軸崩潰的SelectedIndex> = 2(wp7)
- 28. C#ObservableCollection OnCollectionChanged在項目發生更改時不會觸發
- 29. 爲什麼ObservableCollection未更新項目更改?
- 30. WPF Catch ObservableCollection的項目屬性更改
請添加一些代碼,告訴我們你已經嘗試過了。 – Marijn