WPF,在InitializeComponent之后直接放置代码的不良做法?

4im*_*ble 2 c# wpf coding-style

我只是在想什么.我有一个加载页面的框架,目前每个页面都有一个Page_Loaded方法,每次访问页面时都会运行.这工作得很好,但如果我使用导航转到以前访问过的页面,我会注意到错误.返回页面后,Page_Loaded再次被调用,我不想要.

使用调试,我注意到InitializeComponent只有在第一次实现页面时才调用,并且想知道我是否可以Page_Loaded在调用之后简单地放入我的代码,如下所示:

public partial class MyPage: Page
{
    public MyPage()
    {
        InitializeComponent();
        //======> To Here
    }

    private void Page_Loaded(object sender, RoutedEventArgs e)
    {
       //Put Code from here <======
    }
}
Run Code Online (Sandbox Code Playgroud)

这可以解决我的问题,但这是一个不好的做法?如果是这样,我可能会遇到什么问题?

谢谢,Kohan

And*_*mes 5

在构造函数中执行某些操作是合法的.我觉得这很好.

WPF在对象/等的可访问性方面不太像ASP.NET.它有点宽松,所以在构造函数中做某事并不是引用它在ASP.NET中的禁忌.