ButtonAutomationPeer.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Automation / Peers / ButtonAutomationPeer.cs / 1 / ButtonAutomationPeer.cs

                            using System; 
using System.Runtime.InteropServices;
using System.Security;
using System.Text;
using System.Windows; 
using System.Windows.Automation.Provider;
using System.Windows.Controls; 
using System.Windows.Input; 
using System.Windows.Interop;
using System.Windows.Media; 
using System.Windows.Threading;

using MS.Internal;
using MS.Win32; 

namespace System.Windows.Automation.Peers 
{ 

    /// 
    public class ButtonAutomationPeer : ButtonBaseAutomationPeer, IInvokeProvider
    {
        ///
        public ButtonAutomationPeer(Button owner): base(owner) 
        {}
 
        /// 
        override protected string GetClassNameCore()
        { 
            return "Button";
        }

        /// 
        override protected AutomationControlType GetAutomationControlTypeCore()
        { 
            return AutomationControlType.Button; 
        }
 
        ///
        override public object GetPattern(PatternInterface patternInterface)
        {
            if(patternInterface == PatternInterface.Invoke) 
                return this;
 
            return null; 
        }
 
        void IInvokeProvider.Invoke()
        {
            if(!IsEnabled())
                throw new ElementNotEnabledException(); 

            // Async call of click event 
            // In ClickHandler opens a dialog and suspend the execution we don't want to block this thread 
            Dispatcher.BeginInvoke(DispatcherPriority.Input, new DispatcherOperationCallback(delegate(object param)
            { 
                ((Button)Owner).AutomationButtonBaseClick();
                return null;
            }), null);
        } 
    }
} 
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System; 
using System.Runtime.InteropServices;
using System.Security;
using System.Text;
using System.Windows; 
using System.Windows.Automation.Provider;
using System.Windows.Controls; 
using System.Windows.Input; 
using System.Windows.Interop;
using System.Windows.Media; 
using System.Windows.Threading;

using MS.Internal;
using MS.Win32; 

namespace System.Windows.Automation.Peers 
{ 

    /// 
    public class ButtonAutomationPeer : ButtonBaseAutomationPeer, IInvokeProvider
    {
        ///
        public ButtonAutomationPeer(Button owner): base(owner) 
        {}
 
        /// 
        override protected string GetClassNameCore()
        { 
            return "Button";
        }

        /// 
        override protected AutomationControlType GetAutomationControlTypeCore()
        { 
            return AutomationControlType.Button; 
        }
 
        ///
        override public object GetPattern(PatternInterface patternInterface)
        {
            if(patternInterface == PatternInterface.Invoke) 
                return this;
 
            return null; 
        }
 
        void IInvokeProvider.Invoke()
        {
            if(!IsEnabled())
                throw new ElementNotEnabledException(); 

            // Async call of click event 
            // In ClickHandler opens a dialog and suspend the execution we don't want to block this thread 
            Dispatcher.BeginInvoke(DispatcherPriority.Input, new DispatcherOperationCallback(delegate(object param)
            { 
                ((Button)Owner).AutomationButtonBaseClick();
                return null;
            }), null);
        } 
    }
} 
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK