0

我有一个带有一个窗口的 WPF 应用程序。这个窗口有一个图像和一个文本块。应用程序接受一个命令行参数,该参数是要挂载的 ISO 的名称。然后,如果需要,它会更改屏幕分辨率,在虚拟 cd 上加载应用程序并等待该进程终止。卸载 ISO 后,屏幕恢复到原始状态。当所有这些都在进行时,会向用户显示一条消息,告诉他们他们在过程中的位置。

我正在使用文本块向用户显示进度文本,整个过程从以下事件开始。

private void Window_ContentRendered(object sender, EventArgs e)
{

    txtMessage.Text = ConfigurationManager.AppSettings.Get("MountISO");
    //Call routine to mount ISO

    txtMessage.Text = ConfigurationManager.AppSettings.Get("SettingResolution");
    // call routine to set resolution

    .
    .
    .
    .etc

}

但是,窗口按预期加载,但文本块中不显示任何文本。

我确实有Window_Loaded事件中的代码,但窗口保持最小化,直到处理完成。

我显然是以错误的方式解决这个问题,但找不到任何东西可以告诉我我哪里出错了。

4

1 回答 1

1

异步编程可能是您想要在这里做的事情。在StackOverflow 中搜索类似TaskC# 的内容,或阅读有关Task 类的 Microsoft 文档。

ContentRendered活动不是放置此类东西的地方。通常它会Window_Loaded像你一开始所做的那样,但是应用程序当然会被你正在执行的持久操作所阻止。

于 2012-09-21T12:05:59.247 回答