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
- BitmapFrameDecode.cs
- AdRotator.cs
- TableColumnCollection.cs
- NullableBoolConverter.cs
- DATA_BLOB.cs
- DataGridViewAccessibleObject.cs
- DiffuseMaterial.cs
- ReferencedType.cs
- FrameworkContentElement.cs
- WasHttpHandlersInstallComponent.cs
- ClonableStack.cs
- DBSchemaRow.cs
- EventLogEntryCollection.cs
- TextTrailingWordEllipsis.cs
- CurrentTimeZone.cs
- QilXmlWriter.cs
- ProcessModule.cs
- OperatingSystemVersionCheck.cs
- DateTimeConverter2.cs
- TextServicesContext.cs
- HostVisual.cs
- ToolCreatedEventArgs.cs
- IsolatedStorageFilePermission.cs
- SortDescriptionCollection.cs
- TailCallAnalyzer.cs
- SignedPkcs7.cs
- AnnotationResourceCollection.cs
- ThreadExceptionDialog.cs
- Label.cs
- BitStack.cs
- CqlParserHelpers.cs
- DataViewManager.cs
- Wizard.cs
- Annotation.cs
- latinshape.cs
- IDispatchConstantAttribute.cs
- ProfileSection.cs
- XmlDataImplementation.cs
- WebPartManagerInternals.cs
- InfoCardPolicy.cs
- TextViewDesigner.cs
- TableLayoutSettings.cs
- XmlSchemaException.cs
- RawAppCommandInputReport.cs
- SQLCharsStorage.cs
- GlyphCollection.cs
- DataGrid.cs
- base64Transforms.cs
- ExtensibleClassFactory.cs
- ModifierKeysConverter.cs
- CodeExpressionCollection.cs
- ToolboxItemFilterAttribute.cs
- _ConnectOverlappedAsyncResult.cs
- MenuCommand.cs
- WebBaseEventKeyComparer.cs
- TdsParameterSetter.cs
- ObjectStateEntry.cs
- Transform3D.cs
- AnnotationResourceCollection.cs
- BaseProcessor.cs
- DataTableTypeConverter.cs
- TreeNodeCollection.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- UIElement.cs
- String.cs
- SequentialUshortCollection.cs
- DbProviderServices.cs
- PrinterUnitConvert.cs
- HTMLTextWriter.cs
- RecognizedAudio.cs
- GridViewUpdateEventArgs.cs
- ProfileServiceManager.cs
- TableDetailsCollection.cs
- UrlPath.cs
- RuntimeHelpers.cs
- HttpServerVarsCollection.cs
- SecurityPolicySection.cs
- DesignSurface.cs
- EntityViewContainer.cs
- CharAnimationUsingKeyFrames.cs
- WebUtil.cs
- PropertyDescriptorGridEntry.cs
- TextRunTypographyProperties.cs
- WebDescriptionAttribute.cs
- JournalEntryStack.cs
- Array.cs
- _SslStream.cs
- MemberPathMap.cs
- PlatformCulture.cs
- KeyedHashAlgorithm.cs
- METAHEADER.cs
- TraceInternal.cs
- SolidColorBrush.cs
- DataTableClearEvent.cs
- LinkedResourceCollection.cs
- SoapTypeAttribute.cs
- DynamicValueConverter.cs
- AlternateView.cs
- AdapterUtil.cs
- DBNull.cs