gpt4 book ai didi

wpf - 在 WPF 窗口的构造函数中,InitializeComponent() 之前应该做什么,之后应该做什么?

转载 作者:行者123 更新时间:2023-12-04 11:11:41 25 4
gpt4 key购买 nike

一般来说,我一直在初始化 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)留在顶部。

    关于wpf - 在 WPF 窗口的构造函数中,InitializeComponent() 之前应该做什么,之后应该做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11479318/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com