Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / SelectorItemAutomationPeer.cs / 1305600 / 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 base.GetPattern(patternInterface); } ////// 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 base.GetPattern(patternInterface); } ////// 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
- WsatAdminException.cs
- WindowsServiceCredential.cs
- TickBar.cs
- PrefixHandle.cs
- CqlLexer.cs
- XmlResolver.cs
- TableCellCollection.cs
- SmiContext.cs
- QueryOutputWriter.cs
- NetworkCredential.cs
- TimeSpanStorage.cs
- HierarchicalDataBoundControl.cs
- ComponentDispatcher.cs
- FixedDocumentSequencePaginator.cs
- GridViewDesigner.cs
- EntityContainerEmitter.cs
- ReadOnlyHierarchicalDataSourceView.cs
- coordinator.cs
- CodeTypeDeclarationCollection.cs
- WorkItem.cs
- ModelVisual3D.cs
- ListViewGroup.cs
- HelpEvent.cs
- XmlEnumAttribute.cs
- Group.cs
- LifetimeServices.cs
- OracleConnectionFactory.cs
- ActiveDocumentEvent.cs
- StringDictionaryCodeDomSerializer.cs
- XPathDescendantIterator.cs
- ISFClipboardData.cs
- ConstNode.cs
- PathSegment.cs
- SparseMemoryStream.cs
- GridViewItemAutomationPeer.cs
- QueuePropertyVariants.cs
- TypeTypeConverter.cs
- ImageBrush.cs
- GradientStopCollection.cs
- XmlCodeExporter.cs
- RequestDescription.cs
- XmlCharType.cs
- DataGridViewMethods.cs
- EmptyElement.cs
- SerializationSectionGroup.cs
- NotFiniteNumberException.cs
- ByteStreamMessage.cs
- CodeLabeledStatement.cs
- MetadataItemEmitter.cs
- Token.cs
- SessionEndingCancelEventArgs.cs
- ApplicationTrust.cs
- XmlSchemaAttributeGroup.cs
- WSFederationHttpBinding.cs
- OleAutBinder.cs
- _SslSessionsCache.cs
- WebWorkflowRole.cs
- SiteMapNodeCollection.cs
- ViewSimplifier.cs
- FormatterConverter.cs
- ForceCopyBuildProvider.cs
- OletxCommittableTransaction.cs
- BuildProviderUtils.cs
- SharedPerformanceCounter.cs
- CheckPair.cs
- ExceptionUtil.cs
- SqlBulkCopyColumnMappingCollection.cs
- ClaimTypes.cs
- TreeNodeBinding.cs
- GridViewRowPresenter.cs
- WarningException.cs
- UIPermission.cs
- DataGridViewColumnCollection.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- IgnoreDeviceFilterElementCollection.cs
- TraceListeners.cs
- StatusStrip.cs
- EnumerationRangeValidationUtil.cs
- TextViewBase.cs
- SecurityHelper.cs
- WSSecurityOneDotOneSendSecurityHeader.cs
- HttpTransportBindingElement.cs
- SoundPlayerAction.cs
- Serializer.cs
- DateTimeStorage.cs
- StatusBarDrawItemEvent.cs
- StylusButtonCollection.cs
- Converter.cs
- MetricEntry.cs
- BinaryConverter.cs
- EncoderParameter.cs
- SmiTypedGetterSetter.cs
- PeerCollaborationPermission.cs
- ApplicationException.cs
- GenericsInstances.cs
- BinaryFormatter.cs
- HWStack.cs
- SQLResource.cs
- TransactionChannel.cs
- XmlMembersMapping.cs