Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- NavigationPropertyEmitter.cs
- XmlSchemaIdentityConstraint.cs
- HtmlInputControl.cs
- NameTable.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- WorkflowViewManager.cs
- DynamicMetaObject.cs
- CommandManager.cs
- LocalizeDesigner.cs
- WebHttpSecurityModeHelper.cs
- DefaultPrintController.cs
- RelationshipSet.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- MDIClient.cs
- LexicalChunk.cs
- CodeIdentifiers.cs
- DynamicEntity.cs
- SafeSecurityHelper.cs
- MarkupWriter.cs
- GeometryDrawing.cs
- ListBoxItemAutomationPeer.cs
- DataException.cs
- HitTestParameters.cs
- NativeMethods.cs
- AnchorEditor.cs
- MissingMethodException.cs
- NotFiniteNumberException.cs
- GridViewCancelEditEventArgs.cs
- DataTableExtensions.cs
- AnimationTimeline.cs
- WebControl.cs
- unitconverter.cs
- ZoneMembershipCondition.cs
- CollectionView.cs
- DesignRelationCollection.cs
- EndEvent.cs
- ImageBrush.cs
- HitTestFilterBehavior.cs
- COM2ExtendedUITypeEditor.cs
- BigInt.cs
- _DisconnectOverlappedAsyncResult.cs
- LostFocusEventManager.cs
- HttpListener.cs
- TaskHelper.cs
- DependencyPropertyValueSerializer.cs
- HttpListenerResponse.cs
- DataSvcMapFileSerializer.cs
- relpropertyhelper.cs
- StateMachineHelpers.cs
- UnaryQueryOperator.cs
- ImportFileRequest.cs
- sitestring.cs
- DesignerTextWriter.cs
- SoapRpcMethodAttribute.cs
- SelectionRange.cs
- GeometryDrawing.cs
- CodeDirectiveCollection.cs
- EFAssociationProvider.cs
- TextRunCacheImp.cs
- StateMachineDesignerPaint.cs
- StylusPointProperties.cs
- Catch.cs
- Int32Animation.cs
- VerificationException.cs
- TypeNameConverter.cs
- AdRotator.cs
- ProvidersHelper.cs
- EventLogPermission.cs
- SafeFileHandle.cs
- NotCondition.cs
- CodeTypeOfExpression.cs
- SqlDataSourceCustomCommandPanel.cs
- CompatibleIComparer.cs
- TreeViewImageIndexConverter.cs
- JsonWriter.cs
- SimpleType.cs
- LocatorPartList.cs
- ClientRolePrincipal.cs
- HtmlMeta.cs
- xamlnodes.cs
- RuleProcessor.cs
- WorkBatch.cs
- GridViewRowCollection.cs
- TableColumn.cs
- TransformProviderWrapper.cs
- XPathSelfQuery.cs
- Paragraph.cs
- GPPOINTF.cs
- _NTAuthentication.cs
- IsolatedStorage.cs
- Material.cs
- LayoutEditorPart.cs
- LogFlushAsyncResult.cs
- CompositionAdorner.cs
- AsnEncodedData.cs
- MetadataPropertyAttribute.cs
- serverconfig.cs
- ToolStripLocationCancelEventArgs.cs
- UIntPtr.cs
- DrawingBrush.cs