【发布时间】:2013-11-15 08:48:04
【问题描述】:
控件(组合、下拉菜单)应在何时(什么事件)填充到 WPF 用户控件中?
目前我正在使用 UserControl_Loaded,但这会触发不止一次,并且在开发机器上会产生不一致的结果。
public UserControl_Load(x, x)
{
if(!this.Loaded)
{
//populate controls here
}
}
如果这是最佳实践,那么我将尝试解决该问题;但我更感兴趣的是何时(什么事件)最适合用于填充控件?
谢谢
鉴于 Sheridan 的回答,我为那些可能正在寻找有关如何在 WPF 中正确进行数据绑定 (Blog) 的精彩教程的人找到了这篇精彩的博客文章
【问题讨论】:
-
让 WPF 决定。为您的 UserControl 创建一个视图模型并将子控件绑定到视图模型属性。执行绑定时将填充控件。
-
最佳实践是@Clemens 上面写的,但您的方法也应该有效。
-
不要在 WPF 的过程代码中操作 UI 元素。这就是 XAML 的用途。创建一个合适的 ViewModel 并使用 DataBinding。
标签: c# wpf wpf-controls