Ensure That You Are Running on the UI Thread : Thread « Windows Presentation Foundation « C# / CSharp Tutorial

Home
C# / CSharp Tutorial
1.Language Basics
2.Data Type
3.Operator
4.Statement
5.String
6.struct
7.Class
8.Operator Overload
9.delegate
10.Attribute
11.Data Structure
12.Assembly
13.Date Time
14.Development
15.File Directory Stream
16.Preprocessing Directives
17.Regular Expression
18.Generic
19.Reflection
20.Thread
21.I18N Internationalization
22.LINQ
23.GUI Windows Forms
24.Windows Presentation Foundation
25.Windows Communication Foundation
26.Workflow
27.2D
28.Design Patterns
29.Windows
30.XML
31.XML LINQ
32.ADO.Net
33.Network
34.Directory Services
35.Security
36.unsafe
C# / C Sharp
C# / C Sharp by API
C# / CSharp Open Source
C# / CSharp Tutorial » Windows Presentation Foundation » Thread 
24.153.4.Ensure That You Are Running on the UI Thread
<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();
        }
    }
}
WPF Ensure That You Are Running On The U I Thread
24.153.Thread
24.153.1.WPF ThreadingWPF Threading
24.153.2.Thread Sleep in Button Click handlerThread Sleep in Button Click handler
24.153.3.Check Whether You Are Running on the UI ThreadCheck Whether You Are Running on the UI Thread
24.153.4.Ensure That You Are Running on the UI ThreadEnsure That You Are Running on the UI Thread
24.153.5.Execute a Method Asynchronously Using the Dispatcher QueueExecute a Method Asynchronously Using the Dispatcher Queue
24.153.6.ThreadPool.QueueUserWorkItemThreadPool.QueueUserWorkItem
24.153.7.BlockThread.xamlBlockThread.xaml
24.153.8.Keep the UI from becoming non-responsive in single threaded application which performs a long operation.Keep the UI from becoming non-responsive in single threaded application which performs a long operation.
24.153.9.Create a multi threaded web browsing application.Create a multi threaded web browsing application.
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.