<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WPF" Height="100" Width="300"> <StackPanel> <Button Click="ButtonTrue_Click">UI Thread</Button> <Button Click="ButtonFalse_Click">Non-UI Thread</Button> </StackPanel> </Window> //File:Window.xaml.cs using System.Windows; namespace WpfApplication1 { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void ButtonTrue_Click(object sender, RoutedEventArgs e) { this.Dispatcher.VerifyAccess(); } private void ButtonFalse_Click(object sender, RoutedEventArgs e) { VerifyAccessDelegate del = new VerifyAccessDelegate(VerifyAccess); del.BeginInvoke(null, null); } private delegate void VerifyAccessDelegate(); private void VerifyAccess() { this.Dispatcher.VerifyAccess(); } } }