一般来说,我一直在初始化Window
之前的自己InitializeComponent()
并设置随后包含的控件。然而,我并没有那么一致,而且我还没有真正注意到排序有问题。所以:
- 我(可能)正在做一些可怕的事情吗?特别是之前设置子控件的属性是否有问题
InitializeComponent()
?
- 在这方面什么是好的风格?
编辑:由于我得到的前两个答案有点矛盾,让我更具体一些:
public Foo Foo {get; protected set}
public FooWindow (Foo foo)
{
Foo = foo;
this.Closing += FooWindow_Closing;
Foo.Frobbed += Foo_Frobbed;
InitializeComponent();
this.DataContext = this;
this.Title = Foo.Name() + " Window";
FooListView.ItemSource = Foo.CalculateList();
FocusManager.SetFocusedElement(this, FooListView);
}
这大约是对的吗?我应该只做 MVVM 而我的系统中没有任何东西吗?Window
构造函数?
通过在其他代码之后调用 InitializeComponents,您可能会面临意外覆盖 XAML 中设置的属性或使用未初始化对象的风险。通常,隐藏代码的优先级高于 XAML,因此我会将 InitializeComponents(又名解析并加载 XAML)保留在顶部。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)