Mega Code Archive

 
Categories / C# / WPF
 

Use Application Current Dispatcher Invoke to throw an exception

<Window    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   x:Class="WpfApplication1.MainWindow"   Height="200" Width="400">   <Button Click="aClick">click</Button> </Window> //File:Window.xaml.cs using System;  using System.Threading;  using System.Windows;  using System.Windows.Threading;  namespace WpfApplication1 {     public partial class MainWindow : Window     {         public MainWindow()         {             InitializeComponent();             this.Title = string.Format("Running on Main UI Thread {0}", Thread.CurrentThread.ManagedThreadId);         }         void aClick(object sender, RoutedEventArgs e)         {                 Application.Current.Dispatcher.Invoke(DispatcherPriority.Send,(DispatcherOperationCallback)delegate(object arg)                     {                         string msg = string.Format("Exception forwarded from secondary UI thread {0}.", 1);                         throw new Exception(msg, null);                     }                     , null);         }     } }