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