Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / ButtonAutomationPeer.cs / 1305600 / 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; else return base.GetPattern(patternInterface); } 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; else return base.GetPattern(patternInterface); } 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

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BypassElementCollection.cs
- RawKeyboardInputReport.cs
- GlobalProxySelection.cs
- SchemaEntity.cs
- SessionStateModule.cs
- DoubleConverter.cs
- Utils.cs
- MeasureData.cs
- StatusBarItemAutomationPeer.cs
- ScriptDescriptor.cs
- DataGridViewSelectedCellCollection.cs
- WebPartsPersonalization.cs
- _PooledStream.cs
- CultureNotFoundException.cs
- BitmapData.cs
- StrokeSerializer.cs
- HttpInputStream.cs
- HMACSHA384.cs
- _FtpDataStream.cs
- PageBreakRecord.cs
- RootBuilder.cs
- WebConfigurationFileMap.cs
- WindowsMenu.cs
- StoreContentChangedEventArgs.cs
- PersonalizableAttribute.cs
- MULTI_QI.cs
- DataGridPageChangedEventArgs.cs
- XmlDeclaration.cs
- ToolboxItem.cs
- SqlServer2KCompatibilityCheck.cs
- PrePostDescendentsWalker.cs
- AutoFocusStyle.xaml.cs
- IInstanceContextProvider.cs
- AutoSizeToolBoxItem.cs
- Vector3DAnimation.cs
- Configuration.cs
- ExtractedStateEntry.cs
- Bits.cs
- TargetControlTypeCache.cs
- ItemAutomationPeer.cs
- IDReferencePropertyAttribute.cs
- RoleService.cs
- MouseDevice.cs
- UserControlBuildProvider.cs
- XmlTypeAttribute.cs
- RegexCompiler.cs
- AnnotationMap.cs
- DES.cs
- InheritanceAttribute.cs
- HybridDictionary.cs
- OutputCacheSettingsSection.cs
- WebScriptServiceHostFactory.cs
- DivideByZeroException.cs
- Latin1Encoding.cs
- CredentialCache.cs
- ObjectManager.cs
- GeneralTransform3D.cs
- AssemblyAttributesGoHere.cs
- PolicyDesigner.cs
- UpdatePanelTriggerCollection.cs
- EdmRelationshipRoleAttribute.cs
- DependencyPropertyKind.cs
- DbConnectionClosed.cs
- ReaderWriterLockSlim.cs
- ExplicitDiscriminatorMap.cs
- BitmapEffectDrawing.cs
- _NativeSSPI.cs
- SchemaLookupTable.cs
- DispatcherSynchronizationContext.cs
- TemplateControlParser.cs
- DependencyObjectType.cs
- FilterQuery.cs
- Win32KeyboardDevice.cs
- XmlRootAttribute.cs
- Compiler.cs
- HandlerBase.cs
- FutureFactory.cs
- StringDictionaryWithComparer.cs
- Rule.cs
- SiteMapNodeItem.cs
- PropertyMapper.cs
- CacheChildrenQuery.cs
- KeyGesture.cs
- DateTimeUtil.cs
- SystemMulticastIPAddressInformation.cs
- SelectionEditor.cs
- TextSelectionHighlightLayer.cs
- Helpers.cs
- WebPartCollection.cs
- RegexReplacement.cs
- X509Utils.cs
- CryptoStream.cs
- ClockGroup.cs
- Binding.cs
- IdentityNotMappedException.cs
- ExtendedTransformFactory.cs
- XmlSchemaType.cs
- RootBuilder.cs
- datacache.cs
- IgnoreFileBuildProvider.cs