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

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DurableDispatcherAddressingFault.cs
- XmlToDatasetMap.cs
- FrameworkTextComposition.cs
- BulletedList.cs
- SrgsOneOf.cs
- SliderAutomationPeer.cs
- ConstNode.cs
- ArrayConverter.cs
- CheckableControlBaseAdapter.cs
- CheckBoxStandardAdapter.cs
- EdmFunction.cs
- messageonlyhwndwrapper.cs
- MatrixAnimationUsingPath.cs
- VisualBrush.cs
- KeyValuePair.cs
- DefinitionProperties.cs
- ToolTip.cs
- ManagementObject.cs
- ToolStrip.cs
- SplitContainer.cs
- CapabilitiesRule.cs
- InstanceDataCollectionCollection.cs
- CodeConstructor.cs
- ScriptDescriptor.cs
- elementinformation.cs
- ListenerAdapter.cs
- DataGridViewCellStateChangedEventArgs.cs
- DataListDesigner.cs
- ContentElementAutomationPeer.cs
- ProxyHwnd.cs
- SettingsPropertyNotFoundException.cs
- CompilerState.cs
- AutomationPropertyInfo.cs
- ModuleBuilder.cs
- TypeDescriptionProviderAttribute.cs
- WebInvokeAttribute.cs
- ShaderEffect.cs
- BindableTemplateBuilder.cs
- EmptyCollection.cs
- UITypeEditor.cs
- AsyncOperationManager.cs
- ContainerVisual.cs
- PerfService.cs
- HtmlTernaryTree.cs
- TextRangeBase.cs
- Selector.cs
- BulletedListDesigner.cs
- DataSourceIDConverter.cs
- CodeEntryPointMethod.cs
- PreDigestedSignedInfo.cs
- RoutingExtensionElement.cs
- RegistryConfigurationProvider.cs
- Underline.cs
- AdPostCacheSubstitution.cs
- DocumentSchemaValidator.cs
- SqlDataReaderSmi.cs
- SqlRemoveConstantOrderBy.cs
- ScrollBar.cs
- MarkupCompilePass1.cs
- DataGridViewTopLeftHeaderCell.cs
- TemplateKeyConverter.cs
- UnsafeNativeMethodsTablet.cs
- QfeChecker.cs
- DataGridViewCellFormattingEventArgs.cs
- RelationalExpressions.cs
- RegularExpressionValidator.cs
- ProxyHelper.cs
- CatchDesigner.xaml.cs
- DataSourceHelper.cs
- ParagraphResult.cs
- Pair.cs
- StateBag.cs
- CaseInsensitiveHashCodeProvider.cs
- StylusPointPropertyInfo.cs
- Stylus.cs
- ItemDragEvent.cs
- XslVisitor.cs
- documentation.cs
- DecodeHelper.cs
- MenuRendererClassic.cs
- HttpStreams.cs
- EventItfInfo.cs
- StreamSecurityUpgradeAcceptorAsyncResult.cs
- SplitterPanel.cs
- OutputCacheProfile.cs
- Events.cs
- MDIClient.cs
- WindowsIdentity.cs
- OracleRowUpdatingEventArgs.cs
- FixedFlowMap.cs
- EastAsianLunisolarCalendar.cs
- SafeBuffer.cs
- localization.cs
- SecurityContextSecurityTokenAuthenticator.cs
- DigitalSignatureProvider.cs
- Color.cs
- TableLayoutStyle.cs
- ObjectDataSourceMethodEditor.cs
- BinaryWriter.cs
- ApplicationHost.cs