Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / RadioButtonAutomationPeer.cs / 1407647 / RadioButtonAutomationPeer.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.Interop; using System.Windows.Media; using MS.Internal; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class RadioButtonAutomationPeer : ToggleButtonAutomationPeer, ISelectionItemProvider { /// public RadioButtonAutomationPeer(RadioButton owner): base(owner) {} /// override protected string GetClassNameCore() { return "RadioButton"; } /// override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.RadioButton; } /// override public object GetPattern(PatternInterface patternInterface) { if (patternInterface == PatternInterface.SelectionItem) { return this; } else if(patternInterface == PatternInterface.SynchronizedInput) { return base.GetPattern(patternInterface); } else { return null; } } ////// Sets the current element as the selection /// This clears the selection from other elements in the container /// void ISelectionItemProvider.Select() { if (!IsEnabled()) throw new ElementNotEnabledException(); ((RadioButton)Owner).SetCurrentValueInternal(RadioButton.IsCheckedProperty, MS.Internal.KnownBoxes.BooleanBoxes.TrueBox); } ////// Adds current element to selection /// void ISelectionItemProvider.AddToSelection() { if (((RadioButton)Owner).IsChecked != true) throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } ////// Removes current element from selection /// void ISelectionItemProvider.RemoveFromSelection() { // If RadioButton is checked - RemoveFromSelection is invalid operation if (((RadioButton)Owner).IsChecked == true) throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } ////// Check whether an element is selected /// ///returns true if the element is selected bool ISelectionItemProvider.IsSelected { get { return ((RadioButton)Owner).IsChecked == true; } } ////// The logical element that supports the SelectionPattern for this Item /// ///returns an IRawElementProviderSimple IRawElementProviderSimple ISelectionItemProvider.SelectionContainer { get { return null; } } // [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] internal override void RaiseToggleStatePropertyChangedEvent(bool? oldValue, bool? newValue) { RaisePropertyChangedEvent( SelectionItemPatternIdentifiers.IsSelectedProperty, oldValue == true, newValue == true); } } } // 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.Interop; using System.Windows.Media; using MS.Internal; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class RadioButtonAutomationPeer : ToggleButtonAutomationPeer, ISelectionItemProvider { /// public RadioButtonAutomationPeer(RadioButton owner): base(owner) {} /// override protected string GetClassNameCore() { return "RadioButton"; } /// override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.RadioButton; } /// override public object GetPattern(PatternInterface patternInterface) { if (patternInterface == PatternInterface.SelectionItem) { return this; } else if(patternInterface == PatternInterface.SynchronizedInput) { return base.GetPattern(patternInterface); } else { return null; } } ////// Sets the current element as the selection /// This clears the selection from other elements in the container /// void ISelectionItemProvider.Select() { if (!IsEnabled()) throw new ElementNotEnabledException(); ((RadioButton)Owner).SetCurrentValueInternal(RadioButton.IsCheckedProperty, MS.Internal.KnownBoxes.BooleanBoxes.TrueBox); } ////// Adds current element to selection /// void ISelectionItemProvider.AddToSelection() { if (((RadioButton)Owner).IsChecked != true) throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } ////// Removes current element from selection /// void ISelectionItemProvider.RemoveFromSelection() { // If RadioButton is checked - RemoveFromSelection is invalid operation if (((RadioButton)Owner).IsChecked == true) throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } ////// Check whether an element is selected /// ///returns true if the element is selected bool ISelectionItemProvider.IsSelected { get { return ((RadioButton)Owner).IsChecked == true; } } ////// The logical element that supports the SelectionPattern for this Item /// ///returns an IRawElementProviderSimple IRawElementProviderSimple ISelectionItemProvider.SelectionContainer { get { return null; } } // [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] internal override void RaiseToggleStatePropertyChangedEvent(bool? oldValue, bool? newValue) { RaisePropertyChangedEvent( SelectionItemPatternIdentifiers.IsSelectedProperty, oldValue == true, newValue == true); } } } // 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
- Span.cs
- ByteStack.cs
- LocalizationComments.cs
- PackageRelationshipCollection.cs
- GroupJoinQueryOperator.cs
- DictionaryChange.cs
- MetadataUtil.cs
- UTF32Encoding.cs
- XamlRtfConverter.cs
- TextAction.cs
- SEHException.cs
- TableCellAutomationPeer.cs
- NegotiateStream.cs
- RoutingSection.cs
- StateBag.cs
- CommandCollectionEditor.cs
- ObjectItemLoadingSessionData.cs
- TimelineCollection.cs
- StatusBar.cs
- XmlWriterSettings.cs
- KeyFrames.cs
- QueryStringParameter.cs
- GridViewColumnCollectionChangedEventArgs.cs
- FigureParaClient.cs
- FixedFindEngine.cs
- _ChunkParse.cs
- SiblingIterators.cs
- StaticResourceExtension.cs
- TextRangeSerialization.cs
- TransactionalPackage.cs
- IteratorFilter.cs
- ProfessionalColors.cs
- DesignOnlyAttribute.cs
- ResXResourceReader.cs
- DataGridViewIntLinkedList.cs
- EntityDataReader.cs
- TypedRowGenerator.cs
- TypeBrowser.xaml.cs
- BaseContextMenu.cs
- RectangleGeometry.cs
- cookieexception.cs
- SecurityToken.cs
- SafeEventLogWriteHandle.cs
- Type.cs
- UIElementAutomationPeer.cs
- Suspend.cs
- DesignerMetadata.cs
- ByteRangeDownloader.cs
- Byte.cs
- NotSupportedException.cs
- MemoryStream.cs
- XPathChildIterator.cs
- AssemblyCache.cs
- DataGridViewTextBoxCell.cs
- EndpointAddressProcessor.cs
- ListArgumentProvider.cs
- QilStrConcat.cs
- ObfuscationAttribute.cs
- ComponentDispatcherThread.cs
- StickyNoteAnnotations.cs
- DynamicValueConverter.cs
- oledbmetadatacollectionnames.cs
- FieldToken.cs
- OutOfProcStateClientManager.cs
- OracleConnectionFactory.cs
- _DisconnectOverlappedAsyncResult.cs
- ItemCollection.cs
- ZoneButton.cs
- CalendarAutoFormat.cs
- CharacterBufferReference.cs
- SemanticAnalyzer.cs
- TypeForwardedFromAttribute.cs
- _emptywebproxy.cs
- Stack.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- IISUnsafeMethods.cs
- DataGridViewLinkColumn.cs
- MarkerProperties.cs
- XPathEmptyIterator.cs
- XpsSerializationManager.cs
- bindurihelper.cs
- TimerExtension.cs
- AnnotationObservableCollection.cs
- XmlSchemaSimpleContent.cs
- TrustSection.cs
- RequestCacheValidator.cs
- StructuralType.cs
- XmlEncodedRawTextWriter.cs
- EncoderParameters.cs
- ReverseInheritProperty.cs
- SmiEventStream.cs
- DrawingVisualDrawingContext.cs
- remotingproxy.cs
- Decimal.cs
- ExpressionCopier.cs
- UnaryExpressionHelper.cs
- Stylus.cs
- ActivityExecutionContext.cs
- ElementAction.cs
- Native.cs