37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
Cross Thread Exception Raising
|
|
|
|
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
x:Class="WpfApplication1.SecondaryUiThreadWindow"
|
|
Height="240" Width="500" Closed="SecondaryUiThreadWindow_Closed">
|
|
<Button Click="r">Raise an Exception on the Secondary UI Thread</Button>
|
|
|
|
</Window>
|
|
//File:Window.xaml.cs
|
|
using System;
|
|
using System.Threading;
|
|
using System.Windows;
|
|
using System.Windows.Threading;
|
|
|
|
namespace WpfApplication1
|
|
{
|
|
public partial class SecondaryUiThreadWindow : Window
|
|
{
|
|
public SecondaryUiThreadWindow()
|
|
{
|
|
InitializeComponent();
|
|
|
|
this.Title = Thread.CurrentThread.ManagedThreadId+"";
|
|
}
|
|
void r(object sender, RoutedEventArgs e)
|
|
{
|
|
throw new Exception(Dispatcher.CurrentDispatcher.Thread.ManagedThreadId+"");
|
|
}
|
|
void SecondaryUiThreadWindow_Closed(object sender, EventArgs e)
|
|
{
|
|
Dispatcher.CurrentDispatcher.InvokeShutdown();
|
|
}
|
|
}
|
|
}
|
|
|