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
- FormsAuthenticationCredentials.cs
- Version.cs
- OutputCacheSettings.cs
- SymbolDocumentInfo.cs
- EntityClientCacheEntry.cs
- SqlProfileProvider.cs
- ClientTargetCollection.cs
- XDeferredAxisSource.cs
- KeyboardDevice.cs
- LoginUtil.cs
- DropShadowEffect.cs
- IApplicationTrustManager.cs
- DataGridViewColumnStateChangedEventArgs.cs
- RelationshipEndMember.cs
- TraceHelpers.cs
- CachingHintValidation.cs
- WebConfigurationHostFileChange.cs
- XmlElementCollection.cs
- GestureRecognitionResult.cs
- FileDetails.cs
- FixedSOMPageConstructor.cs
- DescendantBaseQuery.cs
- prompt.cs
- FormCollection.cs
- UserPersonalizationStateInfo.cs
- ProfessionalColorTable.cs
- ContextMenu.cs
- AutoGeneratedField.cs
- SmtpCommands.cs
- DataServiceSaveChangesEventArgs.cs
- DateTimeSerializationSection.cs
- GenericTextProperties.cs
- XsdCachingReader.cs
- HttpPostedFile.cs
- LogConverter.cs
- PageAsyncTaskManager.cs
- EventMappingSettingsCollection.cs
- storepermissionattribute.cs
- DocumentDesigner.cs
- IResourceProvider.cs
- NameValueSectionHandler.cs
- Context.cs
- DataSysAttribute.cs
- XmlHierarchicalEnumerable.cs
- ReadOnlyState.cs
- PropertyEntry.cs
- XmlMemberMapping.cs
- ExpandCollapseProviderWrapper.cs
- QilInvokeLateBound.cs
- LeftCellWrapper.cs
- IListConverters.cs
- OutputCacheSection.cs
- UiaCoreProviderApi.cs
- Matrix3D.cs
- FusionWrap.cs
- DesignerOptions.cs
- XmlTypeMapping.cs
- EventlogProvider.cs
- SqlDataSourceFilteringEventArgs.cs
- AnimationClockResource.cs
- UnsafeNativeMethods.cs
- ProjectionCamera.cs
- LoginCancelEventArgs.cs
- DataGridColumnHeaderCollection.cs
- GeneralTransform.cs
- DatatypeImplementation.cs
- MultipleViewPattern.cs
- Math.cs
- IncrementalReadDecoders.cs
- ComponentManagerBroker.cs
- BoundPropertyEntry.cs
- QilInvokeLateBound.cs
- OletxVolatileEnlistment.cs
- LinqDataSourceView.cs
- HttpFileCollectionBase.cs
- EpmContentSerializerBase.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- Tablet.cs
- EdmFunctions.cs
- ConfigPathUtility.cs
- CheckBoxField.cs
- VersionValidator.cs
- _AutoWebProxyScriptHelper.cs
- AutoSizeToolBoxItem.cs
- SchemaMerger.cs
- FormsAuthenticationTicket.cs
- IndexedGlyphRun.cs
- VectorConverter.cs
- TransformedBitmap.cs
- Rect3D.cs
- EmptyStringExpandableObjectConverter.cs
- CodeNamespaceImport.cs
- Win32SafeHandles.cs
- ProxyHelper.cs
- ParserStreamGeometryContext.cs
- OutOfMemoryException.cs
- SerializationStore.cs
- ShimAsPublicXamlType.cs
- Condition.cs
- HtmlElementErrorEventArgs.cs