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 / SelectorItemAutomationPeer.cs / 1 / SelectorItemAutomationPeer.cs
using System; using System.Collections; using System.Collections.Generic; 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.Controls.Primitives; using System.Windows.Interop; using System.Windows.Media; using MS.Internal; using MS.Win32; namespace System.Windows.Automation.Peers { /// public abstract class SelectorItemAutomationPeer : ItemAutomationPeer, ISelectionItemProvider { /// protected SelectorItemAutomationPeer(object owner, SelectorAutomationPeer selectorAutomationPeer) : base(owner, selectorAutomationPeer) { } /// 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(); Selector parentSelector = (Selector)(ItemsControlAutomationPeer.Owner); if (parentSelector == null) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } parentSelector.SelectionChange.SelectJustThisItem(Item, true /* assumeInItemsCollection */); } ////// Adds current element to selection /// void ISelectionItemProvider.AddToSelection() { if(!IsEnabled()) throw new ElementNotEnabledException(); Selector parentSelector = (Selector)(ItemsControlAutomationPeer.Owner); if ((parentSelector == null) || (!parentSelector.CanSelectMultiple && parentSelector.SelectedItem != null && parentSelector.SelectedItem != Item)) { // Parent must exist and be multi-select // in single-select mode the selected item should be null or Owner throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } parentSelector.SelectionChange.Begin(); parentSelector.SelectionChange.Select(Item, true); parentSelector.SelectionChange.End(); } ////// Removes current element from selection /// void ISelectionItemProvider.RemoveFromSelection() { if(!IsEnabled()) throw new ElementNotEnabledException(); Selector parentSelector = (Selector)(ItemsControlAutomationPeer.Owner); parentSelector.SelectionChange.Begin(); parentSelector.SelectionChange.Unselect(Item); parentSelector.SelectionChange.End(); } ////// Check whether an element is selected /// ///returns true if the element is selected bool ISelectionItemProvider.IsSelected { get { Selector parentSelector = (Selector)(ItemsControlAutomationPeer.Owner); return parentSelector._selectedItems.Contains(Item); } } ////// The logical element that supports the SelectionPattern for this Item /// ///returns an IRawElementProviderSimple IRawElementProviderSimple ISelectionItemProvider.SelectionContainer { get { return ProviderFromPeer(ItemsControlAutomationPeer); } } // [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] internal void RaiseAutomationIsSelectedChanged(bool isSelected) { RaisePropertyChangedEvent( SelectionItemPatternIdentifiers.IsSelectedProperty, !isSelected, isSelected); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections; using System.Collections.Generic; 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.Controls.Primitives; using System.Windows.Interop; using System.Windows.Media; using MS.Internal; using MS.Win32; namespace System.Windows.Automation.Peers { /// public abstract class SelectorItemAutomationPeer : ItemAutomationPeer, ISelectionItemProvider { /// protected SelectorItemAutomationPeer(object owner, SelectorAutomationPeer selectorAutomationPeer) : base(owner, selectorAutomationPeer) { } /// 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(); Selector parentSelector = (Selector)(ItemsControlAutomationPeer.Owner); if (parentSelector == null) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } parentSelector.SelectionChange.SelectJustThisItem(Item, true /* assumeInItemsCollection */); } ////// Adds current element to selection /// void ISelectionItemProvider.AddToSelection() { if(!IsEnabled()) throw new ElementNotEnabledException(); Selector parentSelector = (Selector)(ItemsControlAutomationPeer.Owner); if ((parentSelector == null) || (!parentSelector.CanSelectMultiple && parentSelector.SelectedItem != null && parentSelector.SelectedItem != Item)) { // Parent must exist and be multi-select // in single-select mode the selected item should be null or Owner throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } parentSelector.SelectionChange.Begin(); parentSelector.SelectionChange.Select(Item, true); parentSelector.SelectionChange.End(); } ////// Removes current element from selection /// void ISelectionItemProvider.RemoveFromSelection() { if(!IsEnabled()) throw new ElementNotEnabledException(); Selector parentSelector = (Selector)(ItemsControlAutomationPeer.Owner); parentSelector.SelectionChange.Begin(); parentSelector.SelectionChange.Unselect(Item); parentSelector.SelectionChange.End(); } ////// Check whether an element is selected /// ///returns true if the element is selected bool ISelectionItemProvider.IsSelected { get { Selector parentSelector = (Selector)(ItemsControlAutomationPeer.Owner); return parentSelector._selectedItems.Contains(Item); } } ////// The logical element that supports the SelectionPattern for this Item /// ///returns an IRawElementProviderSimple IRawElementProviderSimple ISelectionItemProvider.SelectionContainer { get { return ProviderFromPeer(ItemsControlAutomationPeer); } } // [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] internal void RaiseAutomationIsSelectedChanged(bool isSelected) { RaisePropertyChangedEvent( SelectionItemPatternIdentifiers.IsSelectedProperty, !isSelected, isSelected); } } } // 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
- UnicastIPAddressInformationCollection.cs
- MarkerProperties.cs
- CommonGetThemePartSize.cs
- ObjRef.cs
- SoapWriter.cs
- EmbossBitmapEffect.cs
- XmlSubtreeReader.cs
- ParameterBuilder.cs
- DrawItemEvent.cs
- SapiRecoContext.cs
- SafeCertificateContext.cs
- HttpContext.cs
- _LoggingObject.cs
- PartBasedPackageProperties.cs
- SimpleHandlerFactory.cs
- DesignerForm.cs
- ResourceReferenceExpression.cs
- LabelExpression.cs
- FormViewUpdatedEventArgs.cs
- DataServiceProcessingPipeline.cs
- Environment.cs
- TemplateControlParser.cs
- RequestTimeoutManager.cs
- StringInfo.cs
- SessionStateModule.cs
- ErrorTableItemStyle.cs
- EditorPart.cs
- sqlinternaltransaction.cs
- TraceHandler.cs
- InvalidComObjectException.cs
- SynthesizerStateChangedEventArgs.cs
- WebPartEditorCancelVerb.cs
- BooleanToVisibilityConverter.cs
- JsonWriterDelegator.cs
- CompilerTypeWithParams.cs
- EventLogWatcher.cs
- PersonalizationDictionary.cs
- ParallelDesigner.xaml.cs
- MemberRelationshipService.cs
- AnnotationResourceCollection.cs
- GridErrorDlg.cs
- PasswordValidationException.cs
- DataServiceCollectionOfT.cs
- FragmentQueryKB.cs
- BufferedStream2.cs
- HwndSourceParameters.cs
- metadatamappinghashervisitor.cs
- ClientConfigurationHost.cs
- BamlTreeUpdater.cs
- EditorZoneDesigner.cs
- CoreSwitches.cs
- DataTableClearEvent.cs
- FixedHighlight.cs
- HtmlLink.cs
- SimpleColumnProvider.cs
- XslTransform.cs
- StyleHelper.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- StringFunctions.cs
- FunctionCommandText.cs
- TextElementEditingBehaviorAttribute.cs
- SecurityHeader.cs
- OptimizerPatterns.cs
- ShaderEffect.cs
- PowerModeChangedEventArgs.cs
- QualificationDataAttribute.cs
- OutputCacheProfileCollection.cs
- FontSizeConverter.cs
- XmlAttributes.cs
- FixedPageProcessor.cs
- COAUTHINFO.cs
- WizardStepBase.cs
- TextTreeUndoUnit.cs
- WebHttpDispatchOperationSelector.cs
- SerializationObjectManager.cs
- WindowVisualStateTracker.cs
- WorkflowInstance.cs
- MultiAsyncResult.cs
- SettingsProperty.cs
- XmlSerializerNamespaces.cs
- StatusBarItemAutomationPeer.cs
- ViewBase.cs
- NameScope.cs
- FigureHelper.cs
- SqlRowUpdatingEvent.cs
- _AcceptOverlappedAsyncResult.cs
- SettingsPropertyValue.cs
- ChildTable.cs
- RectAnimationClockResource.cs
- TextRenderer.cs
- OLEDB_Enum.cs
- DataGridViewRowCollection.cs
- XsltLibrary.cs
- ReadWriteSpinLock.cs
- typedescriptorpermission.cs
- UInt16Storage.cs
- DefaultPrintController.cs
- TextStore.cs
- SemanticTag.cs
- SplayTreeNode.cs