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
是否保证在UI线程中调用wpf视图事件的处理程序_Wpf_Multithreading_User Interface_Events - Fatal编程技术网

是否保证在UI线程中调用wpf视图事件的处理程序

是否保证在UI线程中调用wpf视图事件的处理程序,wpf,multithreading,user-interface,events,Wpf,Multithreading,User Interface,Events,若我编写wpf事件的处理程序,我可以确保它将在UI线程中执行,并且不使用额外的检查吗?什么规格描述了这种情况。我相信处理程序是在UI线程中调用的,但我没有任何证据 是否保证在UI线程中调用wpf视图事件的处理程序 是的,除非你在某个地方创建了一个背景线程,并以某种方式从这个线程引发事件。为了澄清,这里的UI线程是指引发事件的控件最初创建的线程。实际上,您可以在不同于默认UI线程的UI线程上创建控件。但默认情况下,所有内置UI控件都不会在后台线程上引发事件 因此,如果您没有在任何后台线程上创建任何

若我编写wpf事件的处理程序,我可以确保它将在UI线程中执行,并且不使用额外的检查吗?什么规格描述了这种情况。我相信处理程序是在UI线程中调用的,但我没有任何证据

是否保证在UI线程中调用wpf视图事件的处理程序

是的,除非你在某个地方创建了一个背景线程,并以某种方式从这个线程引发事件。为了澄清,这里的UI线程是指引发事件的控件最初创建的线程。实际上,您可以在不同于默认UI线程的UI线程上创建控件。但默认情况下,所有内置UI控件都不会在后台线程上引发事件


因此,如果您没有在任何后台线程上创建任何控件,UI事件将始终在主调度程序线程上引发。

您可以轻松编写一个视图元素,其中包含在后台线程中激发的事件。这是否有意义,是另一个问题。