一般来说,我之前一直在初始化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)放在顶部。
| 归档时间: | 
 | 
| 查看次数: | 4529 次 | 
| 最近记录: |