मैं अपने प्रेषक को रोकना चाहता हूं जो मुख्य() में शुरू हुआ है, जब उपयोगकर्ता बटन पर क्लिक करता है।मैं अपने प्रेषक से कैसे बाहर निकल सकता हूं?
private void button_start_Click(object sender, RoutedEventArgs e)
{
...
Camera.EventFrame -= onFrameEventFocusCam; //unsubscribe event
while (!Dispatcher.HasShutdownStarted)
{
// test if Dispatcher started shutdown --> ok, it does but never finishs...!
}
...
}
private void onFrameEventFocusCam(object sender, EventArgs e)
{
...
Dispatcher.Invoke(new Action(() =>
{
// Convert bitmap to WPF-Image
var bmp = new Bitmap(bitmap);
var hBitmap = bmp.GetHbitmap();
System.Windows.Media.ImageSource wpfBitmap = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
image_fokus.Source = wpfBitmap;
image_fokus.Stretch = System.Windows.Media.Stretch.UniformToFill;
DeleteObject(hBitmap);
bitmap.Dispose();
}));
GC.Collect();
}
मुझे इस कोड मैं त्रुटि संदेश निम्न हो, जबकि यह onFrameEventFocusCam
में बंद कर दिया गया है चलाएँ:
Error-Message: Thread was interrupted from a waiting state.
यदि आप मुख्य थ्रेड प्रेषक को रोकते हैं, तो ऐप काम करना बंद कर देगा ... क्या वाकई आप क्या चाहते हैं? आप वास्तव में क्या करने की कोशिश कर रहे हैं? –
मैं मुख्य धागे को रोकना पसंद नहीं करता हूं। मैं एक लाइव छवि दिखाने के लिए कैमरे को रोकने के लिए क्या कर रहा हूं। आवेदन अभी भी चलाना चाहिए। – Norick