我是一个继承自UserControl类的WebCamCapture类,我在一个像这样的单独线程中启动它
ThreadStart webCamThreadStart = () =>
{
webcam = new WebCamCapture();
webcam.FrameNumber = ((ulong)(0ul));
webcam.TimeToCapture_milliseconds = FrameNumber;
webcam.ImageCaptured += new WebCamCapture.WebCamEventHandler(webcam_ImageCaptured);
Start();
};
Thread threadnameThread = new Thread(webCamThreadStart) { IsBackground = true };
threadnameThread.Start();
网络摄像头启动但它永远不会引发ImageCaptured事件。
当我在Dispatcher BeginInvoke下运行代码时,事件被触发,
System.Windows.Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
{
//above code
}));
但这不是我的目的,因为这样UI会减慢速度。我想在一个单独的线程中运行网络摄像头,这是我原来的问题
[Text Input very slow in WPF Application
我的问题是如何从后台线程中提升UI事件。
感谢。