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
- FtpRequestCacheValidator.cs
- COAUTHINFO.cs
- Pkcs7Recipient.cs
- RoleGroup.cs
- XmlWrappingReader.cs
- Win32SafeHandles.cs
- ConfigurationElementProperty.cs
- ApplicationManager.cs
- HtmlLiteralTextAdapter.cs
- TraceContext.cs
- BamlLocalizationDictionary.cs
- DrawingContext.cs
- updatecommandorderer.cs
- TextMetrics.cs
- ToolStripContextMenu.cs
- DrawingContextWalker.cs
- LinkedResource.cs
- DbMetaDataFactory.cs
- DynamicDiscoveryDocument.cs
- DetailsViewUpdatedEventArgs.cs
- CellQuery.cs
- FrameworkTextComposition.cs
- XamlReaderHelper.cs
- CodeMethodReturnStatement.cs
- SoapIncludeAttribute.cs
- RootNamespaceAttribute.cs
- ArrayTypeMismatchException.cs
- RuleSet.cs
- HtmlMobileTextWriter.cs
- XmlNodeList.cs
- ParameterEditorUserControl.cs
- glyphs.cs
- HostingEnvironment.cs
- PrincipalPermission.cs
- SqlIdentifier.cs
- ProtectedConfiguration.cs
- PlainXmlWriter.cs
- TextRange.cs
- EllipticalNodeOperations.cs
- XmlSchemaAttribute.cs
- NativeMethods.cs
- SynchronizedInputAdaptor.cs
- TypeSystemHelpers.cs
- RegistryConfigurationProvider.cs
- ModuleElement.cs
- MemberAccessException.cs
- ParserOptions.cs
- SqlDependencyListener.cs
- DelegatingConfigHost.cs
- RepeaterItem.cs
- SystemIcmpV6Statistics.cs
- AutoScrollHelper.cs
- ProcessRequestAsyncResult.cs
- SimpleType.cs
- HostingEnvironment.cs
- MultiPropertyDescriptorGridEntry.cs
- DocumentPageHost.cs
- CryptoApi.cs
- ThreadExceptionEvent.cs
- SqlConnectionPoolProviderInfo.cs
- SymbolEqualComparer.cs
- SingleAnimationBase.cs
- HtmlToClrEventProxy.cs
- loginstatus.cs
- TemplateControlParser.cs
- DataGridViewCellLinkedList.cs
- ImplicitInputBrush.cs
- ToolBar.cs
- SymmetricAlgorithm.cs
- counter.cs
- BehaviorEditorPart.cs
- FormsAuthenticationEventArgs.cs
- TextFindEngine.cs
- DictionaryCustomTypeDescriptor.cs
- DashStyle.cs
- DetailsViewUpdateEventArgs.cs
- WebPartCatalogAddVerb.cs
- SortDescription.cs
- FileDetails.cs
- ServiceProviders.cs
- WSDualHttpBindingCollectionElement.cs
- LinkUtilities.cs
- HtmlWindowCollection.cs
- CodeAssignStatement.cs
- DataGridDesigner.cs
- BitStream.cs
- WebPartTransformerAttribute.cs
- ResourceDescriptionAttribute.cs
- BuildProvider.cs
- Decoder.cs
- Span.cs
- InfoCardPolicy.cs
- Menu.cs
- ObjectNavigationPropertyMapping.cs
- XmlSchemaInclude.cs
- __ConsoleStream.cs
- SqlDataSource.cs
- Matrix.cs
- OdbcConnectionHandle.cs
- ResourceAssociationType.cs