Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ToolStripComboBox.cs
- Style.cs
- CompositeScriptReference.cs
- ScriptingAuthenticationServiceSection.cs
- ExpressionHelper.cs
- PackagePart.cs
- CubicEase.cs
- DataFormats.cs
- SafeNativeMethods.cs
- EventPropertyMap.cs
- LayoutManager.cs
- RelationshipConverter.cs
- TableRow.cs
- MultipleViewProviderWrapper.cs
- StdValidatorsAndConverters.cs
- XmlSchemaCompilationSettings.cs
- LoadMessageLogger.cs
- TemplateColumn.cs
- EventProviderWriter.cs
- RelatedImageListAttribute.cs
- SQLSingle.cs
- XmlSerializerNamespaces.cs
- SimpleApplicationHost.cs
- GeneralTransformGroup.cs
- PersistenceTypeAttribute.cs
- ListItemCollection.cs
- CreatingCookieEventArgs.cs
- CounterSample.cs
- InheritablePropertyChangeInfo.cs
- WizardPanelChangingEventArgs.cs
- PageCache.cs
- StringAnimationBase.cs
- MimeTypeAttribute.cs
- DataMemberListEditor.cs
- TextBox.cs
- EdmItemError.cs
- MetadataHelper.cs
- CharAnimationBase.cs
- PathFigureCollectionConverter.cs
- SQLSingle.cs
- ScalarOps.cs
- JsonReader.cs
- ClientProxyGenerator.cs
- WebAdminConfigurationHelper.cs
- TableDetailsCollection.cs
- XamlDesignerSerializationManager.cs
- SqlDependency.cs
- FileDialog_Vista.cs
- Keywords.cs
- Drawing.cs
- ParagraphResult.cs
- ToolStripManager.cs
- DrawListViewColumnHeaderEventArgs.cs
- TimeStampChecker.cs
- IOException.cs
- DropShadowBitmapEffect.cs
- ObjRef.cs
- TextAction.cs
- StructuredCompositeActivityDesigner.cs
- AnnouncementInnerClient11.cs
- SafeLibraryHandle.cs
- VisualBasicDesignerHelper.cs
- DataColumnChangeEvent.cs
- FrameworkRichTextComposition.cs
- EpmSyndicationContentSerializer.cs
- PriorityBindingExpression.cs
- GeneratedCodeAttribute.cs
- LocalizableAttribute.cs
- TextServicesDisplayAttributePropertyRanges.cs
- RoutedEventConverter.cs
- XmlDocument.cs
- DataGridPagerStyle.cs
- XamlHostingSectionGroup.cs
- IQueryable.cs
- FileController.cs
- SafeEventHandle.cs
- _PooledStream.cs
- ServerValidateEventArgs.cs
- wgx_commands.cs
- RowToFieldTransformer.cs
- HttpWebRequestElement.cs
- XmlUtil.cs
- HttpCapabilitiesEvaluator.cs
- AttributeSetAction.cs
- ItemCollection.cs
- UnsafeNativeMethods.cs
- HebrewNumber.cs
- InheritanceService.cs
- XmlIncludeAttribute.cs
- FileCodeGroup.cs
- SemaphoreFullException.cs
- OrderedDictionary.cs
- Scene3D.cs
- MetaModel.cs
- CellRelation.cs
- FreezableDefaultValueFactory.cs
- DebugControllerThread.cs
- StrictAndMessageFilter.cs
- InputLanguageSource.cs
- SoapSchemaMember.cs