在下面的代码中,我调用了一个打开自定义新窗口的方法。然而,当应用程序正在执行一些长时间运行的任务时,我希望仍然能够激活该窗口。是否可以在另一个线程上或使用
这是我尝试调用它的方式:
Task
类来实现?public static class CustomW
{
static Custom_Window_Chrome_Demo.ThemedWindow MsgBox(string Msgbx_TTL, string Msgbx_Contnt)
{
var w_mbx = new Custom_Window_Chrome_Demo.ThemedWindow();
w_mbx.Width = 950; w_mbx.Height = 159;
w_mbx.Title = Msgbx_TTL;
Grid g = new Grid();
StackPanel spM = new StackPanel();
TextBlock TblckErrMsg = new TextBlock();
//more settings......
}
}
这是我尝试调用它的方式:
public void newMsgBoxShow(string Msgbx_TTL, string Msgbx_Contnt)
{
System.Threading.Thread s = new System.Threading.Thread(
()=>
CustomW.MsgBox(Msgbx_TTL, Msgbx_Contnt).Show()
);
}
但是当我使用新线程时,我遇到以下错误。
调用线程必须是STA,因为许多UI组件需要此线程。
如何正确实现所需的结果?
CustomW.MsgBox()
,结果相同。 - undefined