[英]WPF UserControl Populate Controls
什么時候應該在WPF用戶控件中填充控件(組合,下拉菜單)?
當前,我使用的是UserControl_Loaded,但是它觸發了不止一次,並且在開發機器上會產生不一致的結果。
public UserControl_Load(x, x)
{
if(!this.Loaded)
{
//populate controls here
}
}
如果這是最佳做法,那么我將嘗試解決該問題。 但是我對什么時候最適合用來填充控件更感興趣?
謝謝
鑒於謝里登的答案,我發現這個奇妙的博客文章對那些誰可能是如何在WPF正確數據綁定尋找一個偉大的教程( 博客 )
與其處理事件以填充控件,不如嘗試數據綁定方法:
首先在實現INotifyPropertyChanged
接口的類(視圖模型)中創建一個collection屬性:
// You need to implement the `INotifyPropertyChanged` interface properly here
public ObservableCollection<YourDataType> Items { get; set; }
然后,您可以根據構造函數或響應某些UI動作的Command
處理程序中調用的代碼填充它:
Items = GetSomeItems();
現在,如果您已為此屬性定義了到UI集合控件的Binding
,則UI將自動更新:
<ListBox ItemsSource="{Binding Items}">
...
</ListBox>
只要將視圖的DataContext
屬性設置為視圖模型的實例:
DataContext = new SomeViewModel();
最后,我建議您查看MSDN上的“ 數據綁定概述”頁面以獲取更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.