Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / System / Windows / Automation / Peers / RadioButtonAutomationPeer.cs / 1 / 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;
}
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).IsChecked = true;
}
///
/// 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;
}
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).IsChecked = true;
}
///
/// 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
- ObjectSelectorEditor.cs
- PassportPrincipal.cs
- QilLoop.cs
- ItemDragEvent.cs
- SubpageParaClient.cs
- StylusEventArgs.cs
- DataGridAddNewRow.cs
- DynamicDocumentPaginator.cs
- CommonDialog.cs
- ThreadLocal.cs
- SerializationAttributes.cs
- VBCodeProvider.cs
- ServiceOperationDetailViewControl.cs
- VisualTarget.cs
- ClientSettingsProvider.cs
- EventMetadata.cs
- FamilyCollection.cs
- GridViewRow.cs
- InputBindingCollection.cs
- ColorMatrix.cs
- PolyBezierSegmentFigureLogic.cs
- FunctionImportMapping.cs
- RegexReplacement.cs
- EmptyEnumerable.cs
- LineMetrics.cs
- StylusPointPropertyUnit.cs
- SecurityState.cs
- TokenFactoryCredential.cs
- ContourSegment.cs
- ToolStripGrip.cs
- TableAutomationPeer.cs
- TextRenderingModeValidation.cs
- TreeWalkHelper.cs
- Rect3DValueSerializer.cs
- EndpointIdentityConverter.cs
- RelationshipEndMember.cs
- UrlPath.cs
- PenContexts.cs
- TextShapeableCharacters.cs
- ObjectListGeneralPage.cs
- Message.cs
- Types.cs
- BindingExpressionBase.cs
- ColumnProvider.cs
- ErrorProvider.cs
- WindowsPen.cs
- ModifiableIteratorCollection.cs
- OperationPickerDialog.cs
- PartialArray.cs
- ToolboxItemFilterAttribute.cs
- Hex.cs
- KeyedCollection.cs
- DataList.cs
- DataGridItem.cs
- ResourceIDHelper.cs
- BadImageFormatException.cs
- HttpCapabilitiesEvaluator.cs
- XmlAnyAttributeAttribute.cs
- EventProviderClassic.cs
- MarshalDirectiveException.cs
- MobileTextWriter.cs
- WaitForChangedResult.cs
- CommandHelper.cs
- SerializationObjectManager.cs
- ProtocolsConfigurationEntry.cs
- IncrementalHitTester.cs
- UpdatePanelTriggerCollection.cs
- EmptyEnumerator.cs
- BinaryNode.cs
- BridgeDataRecord.cs
- TabPage.cs
- MenuItem.cs
- SymbolUsageManager.cs
- RemotingSurrogateSelector.cs
- BrowserDefinitionCollection.cs
- Int64Storage.cs
- BooleanAnimationBase.cs
- UInt64.cs
- ThreadStateException.cs
- IncomingWebResponseContext.cs
- RectangleGeometry.cs
- SecurityKeyType.cs
- DateTimeUtil.cs
- SortAction.cs
- OperationPickerDialog.cs
- SequenceDesigner.cs
- MachineSettingsSection.cs
- InvalidOleVariantTypeException.cs
- ClaimComparer.cs
- Itemizer.cs
- PageRanges.cs
- TransformationRules.cs
- X509Certificate2Collection.cs
- XamlSerializerUtil.cs
- UriTemplate.cs
- PeerNameResolver.cs
- ChannelParameterCollection.cs
- ColumnWidthChangingEvent.cs
- PersistChildrenAttribute.cs
- DoWorkEventArgs.cs