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
- AccessedThroughPropertyAttribute.cs
- FragmentNavigationEventArgs.cs
- CreateUserErrorEventArgs.cs
- XPathDocumentIterator.cs
- ByteStreamMessageEncoder.cs
- XmlSerializationWriter.cs
- EnumerableCollectionView.cs
- LoaderAllocator.cs
- TextSerializer.cs
- DoubleCollectionConverter.cs
- CodeChecksumPragma.cs
- ClientRolePrincipal.cs
- TreeViewItem.cs
- PerCallInstanceContextProvider.cs
- XmlElementAttributes.cs
- ProtocolElement.cs
- ConfigXmlSignificantWhitespace.cs
- PathParser.cs
- BamlTreeUpdater.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- IntSecurity.cs
- TreeViewDataItemAutomationPeer.cs
- ADMembershipUser.cs
- FusionWrap.cs
- Style.cs
- WebPartActionVerb.cs
- DrawingBrush.cs
- StorageModelBuildProvider.cs
- BitmapSource.cs
- XomlCompilerError.cs
- ArrayList.cs
- OleStrCAMarshaler.cs
- OracleNumber.cs
- IncrementalHitTester.cs
- DataServiceProcessingPipeline.cs
- RegexTree.cs
- HtmlContainerControl.cs
- SharedPerformanceCounter.cs
- HttpContext.cs
- LongAverageAggregationOperator.cs
- EmbossBitmapEffect.cs
- SemanticTag.cs
- TabControlAutomationPeer.cs
- QueueProcessor.cs
- NumericExpr.cs
- DbRetry.cs
- WebBrowserNavigatingEventHandler.cs
- StylusShape.cs
- NumericExpr.cs
- Point.cs
- Document.cs
- base64Transforms.cs
- ConfigXmlSignificantWhitespace.cs
- UnsafeNativeMethods.cs
- SqlNotificationEventArgs.cs
- WorkflowOperationFault.cs
- CacheSection.cs
- SortableBindingList.cs
- FieldToken.cs
- BypassElementCollection.cs
- TemplateModeChangedEventArgs.cs
- MonthChangedEventArgs.cs
- DecimalStorage.cs
- PropertyGridEditorPart.cs
- XXXInfos.cs
- Metafile.cs
- ContextMenuAutomationPeer.cs
- EFDataModelProvider.cs
- documentsequencetextcontainer.cs
- GuidelineSet.cs
- HttpCookiesSection.cs
- DataColumn.cs
- ToolStripSplitStackLayout.cs
- BatchWriter.cs
- XslTransform.cs
- TextOptions.cs
- SqlMethods.cs
- XmlName.cs
- ItemList.cs
- Variant.cs
- DiscreteKeyFrames.cs
- TargetPerspective.cs
- SqlStream.cs
- ConnectionDemuxer.cs
- XmlEventCache.cs
- TextContainerHelper.cs
- RsaSecurityToken.cs
- WsatProxy.cs
- OrderedHashRepartitionEnumerator.cs
- EllipticalNodeOperations.cs
- CompModHelpers.cs
- SmiEventSink_Default.cs
- TimeoutHelper.cs
- ViewgenGatekeeper.cs
- DiagnosticsElement.cs
- MexBindingElement.cs
- DoubleAnimationClockResource.cs
- TextBoxBase.cs
- MetabaseServerConfig.cs
- Timer.cs