ButtonBaseAutomationPeer.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / System / Windows / Automation / Peers / ButtonBaseAutomationPeer.cs / 1 / ButtonBaseAutomationPeer.cs

                            using System; 
using System.Collections;
using System.Collections.Generic;
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.Controls.Primitives; 
using System.Windows.Input;
using System.Windows.Interop;
using System.Windows.Media;
 
using MS.Internal;
using MS.Win32; 
 
namespace System.Windows.Automation.Peers
{ 

   ///
   public abstract class ButtonBaseAutomationPeer: FrameworkElementAutomationPeer
    { 
        ///
        protected ButtonBaseAutomationPeer(ButtonBase owner): base(owner) 
        {} 

        /// 
        override protected string GetAcceleratorKeyCore()
        {
            string acceleratorKey = base.GetAcceleratorKeyCore();
            if (acceleratorKey == string.Empty) 
            {
                RoutedUICommand uiCommand = ((ButtonBase)Owner).Command as RoutedUICommand; 
                if (uiCommand != null && !string.IsNullOrEmpty(uiCommand.Text)) 
                {
                    acceleratorKey = uiCommand.Text; 
                }
            }
            return acceleratorKey;
        } 

        /// 
        protected override string GetAutomationIdCore() 
        {
           string result = base.GetAutomationIdCore(); 
           if (string.IsNullOrEmpty(result))
           {
               ButtonBase owner = (ButtonBase)Owner;
               RoutedCommand command = owner.Command as RoutedCommand; 
               if (command != null)
               { 
                   string commandName = command.Name; 
                   if (!string.IsNullOrEmpty(commandName))
                   { 
                       result = commandName;
                   }
               }
           } 
           return result ?? string.Empty;
        } 
 

        // Return the base without the AccessKey character 
        ///
        override protected string GetNameCore()
        {
            string result = base.GetNameCore(); 
            ButtonBase bb = (ButtonBase)Owner;
            if (!string.IsNullOrEmpty(result)) 
            { 
                if (bb.Content is string)
                { 
                    result = AccessText.RemoveAccessKeyMarker(result);
                }
            }
            else 
            {
                RoutedUICommand uiCommand = bb.Command as RoutedUICommand; 
                if (uiCommand != null && !string.IsNullOrEmpty(uiCommand.Text)) 
                {
                    result = uiCommand.Text; 
                }
            }
            return result;
        } 
    }
} 
 


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System; 
using System.Collections;
using System.Collections.Generic;
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.Controls.Primitives; 
using System.Windows.Input;
using System.Windows.Interop;
using System.Windows.Media;
 
using MS.Internal;
using MS.Win32; 
 
namespace System.Windows.Automation.Peers
{ 

   ///
   public abstract class ButtonBaseAutomationPeer: FrameworkElementAutomationPeer
    { 
        ///
        protected ButtonBaseAutomationPeer(ButtonBase owner): base(owner) 
        {} 

        /// 
        override protected string GetAcceleratorKeyCore()
        {
            string acceleratorKey = base.GetAcceleratorKeyCore();
            if (acceleratorKey == string.Empty) 
            {
                RoutedUICommand uiCommand = ((ButtonBase)Owner).Command as RoutedUICommand; 
                if (uiCommand != null && !string.IsNullOrEmpty(uiCommand.Text)) 
                {
                    acceleratorKey = uiCommand.Text; 
                }
            }
            return acceleratorKey;
        } 

        /// 
        protected override string GetAutomationIdCore() 
        {
           string result = base.GetAutomationIdCore(); 
           if (string.IsNullOrEmpty(result))
           {
               ButtonBase owner = (ButtonBase)Owner;
               RoutedCommand command = owner.Command as RoutedCommand; 
               if (command != null)
               { 
                   string commandName = command.Name; 
                   if (!string.IsNullOrEmpty(commandName))
                   { 
                       result = commandName;
                   }
               }
           } 
           return result ?? string.Empty;
        } 
 

        // Return the base without the AccessKey character 
        ///
        override protected string GetNameCore()
        {
            string result = base.GetNameCore(); 
            ButtonBase bb = (ButtonBase)Owner;
            if (!string.IsNullOrEmpty(result)) 
            { 
                if (bb.Content is string)
                { 
                    result = AccessText.RemoveAccessKeyMarker(result);
                }
            }
            else 
            {
                RoutedUICommand uiCommand = bb.Command as RoutedUICommand; 
                if (uiCommand != null && !string.IsNullOrEmpty(uiCommand.Text)) 
                {
                    result = uiCommand.Text; 
                }
            }
            return result;
        } 
    }
} 
 


// 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