Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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# 从控制台应用程序c访问不同线程中的对象#_C#_Wpf - Fatal编程技术网

C# 从控制台应用程序c访问不同线程中的对象#

C# 从控制台应用程序c访问不同线程中的对象#,c#,wpf,C#,Wpf,我有一个控制台应用程序,我想在其中显示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.ST

我有一个控制台应用程序,我想在其中显示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();

但是,如何从console应用程序中的任何方法访问wpf窗口方法和属性?

您有两个选项,第一个是最简单的选项:

使用该方法可以访问窗口的属性和方法

第二:将属性/方法添加到
容器
类中,该类返回所需的
窗口
对象。这可能是也可能是不可能的,主要取决于您是否有权访问该类的源代码


如果遇到有关线程访问的异常,请使用相应WPF对象的
Dispatcher
。有关详细信息,请参阅。

您有两个选择,第一个是最简单的:

使用该方法可以访问窗口的属性和方法

第二:将属性/方法添加到
容器
类中,该类返回所需的
窗口
对象。这可能是也可能是不可能的,主要取决于您是否有权访问该类的源代码

如果遇到有关线程访问的异常,请使用相应WPF对象的
Dispatcher
。有关详细信息,请参阅