簡體   English   中英

WPF UserControl填充控件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM