Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF-在主窗口构造函数完成后运行方法_C#_Wpf - Fatal编程技术网

C# WPF-在主窗口构造函数完成后运行方法

C# WPF-在主窗口构造函数完成后运行方法,c#,wpf,C#,Wpf,我正在尝试在主窗口构建后运行一个方法,该方法将编辑我拥有的文本块文本。但是,当我在构造函数中调用该方法时,它会在加载窗口之前完成,这意味着任何和所有文本更改都不会完成。我不知道在窗口完全加载后如何运行该方法,而不在构造函数中调用它。以下是我目前拥有的代码: public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } public v

我正在尝试在主窗口构建后运行一个方法,该方法将编辑我拥有的文本块文本。但是,当我在构造函数中调用该方法时,它会在加载窗口之前完成,这意味着任何和所有文本更改都不会完成。我不知道在窗口完全加载后如何运行该方法,而不在构造函数中调用它。以下是我目前拥有的代码:

public partial class MainWindow : Window {
    public MainWindow() {
        InitializeComponent();

    }


    public void WriteBios() {

        Stopwatch timer = new Stopwatch();

        timer.Start();
        while (timer.Elapsed < TimeSpan.FromSeconds(5)) {

            for (int i = 0; i < 5; i++) {
                MainText.Text = "_";
                MainText.Text = "";
                i++;
            }
        }

    }
}
公共部分类主窗口:窗口{
公共主窗口(){
初始化组件();
}
公共无效书面文件(){
秒表计时器=新秒表();
timer.Start();
而(计时器经过时间<时间跨度从秒(5)){
对于(int i=0;i<5;i++){
MainText.Text=“389;”;
MainText.Text=“”;
i++;
}
}
}
}

窗口类有一个加载的事件,您可以订阅该事件。这应该可以解决您的问题。

窗口类有一个加载的事件,您可以订阅该事件。这应该能解决你的问题。

秒表不是计时器。改用Dispatcher,并在其Tick事件处理程序中更新UI。秒表不是计时器。改为使用Dispatcher,并在其Tick事件处理程序中更新您的UI。也就是说,从您的代码片段来看,尽管您使用的是WPF,但您可能没有使用MVVM模式。这确实是不可取的,尽管您使用的是WPF,但从您的代码片段来看,您可能没有使用MVVM模式。这实在不可取。