从控制台应用程序c#获取对不同线程中对象的访问权限
本文关键字:对象 访问 权限 访问权 线程 应用程序 控制台 获取 | 更新日期: 2023-09-27 18:27:57
我有一个控制台应用程序,我想在那里显示wpf窗口:
ths = new ThreadStart(() =>
{
window = new wpf_lib.Container();
System.Windows.Application app = new Application();
app.Run(window);
});
th = new Thread(ths);
th.TrySetApartmentState(ApartmentState.STA);
th.Start();
但是,我如何从控制台应用程序中的任何方法访问wpf窗口方法和属性?
您有两个选项,第一个是最简单的:
使用System.Windows.Application.MainWindow方法可以访问Window的属性和方法。
第二:向返回所需Window
对象的Container
类添加一个属性/方法。这可能是可能的,也可能不是,主要取决于您是否可以访问该类的源代码。
如果遇到有关线程访问的异常,请使用相应WPF对象的Dispatcher
。有关详细信息,请参阅此问题。