一般来说,在调用
InitializeComponent()
之前,我会初始化Window
本身的属性,并在之后设置包含的控件。然而,我并没有保持一致性,也没有注意到顺序上的问题。所以:
- 我是否(潜在地)做了什么可怕的事情?特别是,在调用
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
构造函数中添加任何内容吗?