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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ResourceIDHelper.cs
- DataObjectPastingEventArgs.cs
- WS2007FederationHttpBindingCollectionElement.cs
- CertificateManager.cs
- LayoutTable.cs
- WebHeaderCollection.cs
- SoapSchemaExporter.cs
- GroupBoxAutomationPeer.cs
- UInt16.cs
- TransformPattern.cs
- ViewPort3D.cs
- HtmlUtf8RawTextWriter.cs
- DriveInfo.cs
- FormViewModeEventArgs.cs
- ZipFileInfo.cs
- WaveHeader.cs
- KeySpline.cs
- DataMisalignedException.cs
- PropertyMetadata.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ProgressBarRenderer.cs
- OdbcEnvironment.cs
- EntityCodeGenerator.cs
- StickyNoteAnnotations.cs
- ECDiffieHellman.cs
- X509RecipientCertificateClientElement.cs
- StrongNameKeyPair.cs
- FilterEventArgs.cs
- PropertyDescriptors.cs
- Int32CollectionConverter.cs
- DateTimeOffset.cs
- HandlerBase.cs
- OleDbParameter.cs
- InvokeProviderWrapper.cs
- RelationshipType.cs
- InvalidDataException.cs
- AccessDataSourceView.cs
- FrameworkElement.cs
- HierarchicalDataTemplate.cs
- input.cs
- ResourceContainer.cs
- BooleanExpr.cs
- XmlArrayItemAttributes.cs
- FloaterParagraph.cs
- CfgParser.cs
- ListViewInsertEventArgs.cs
- QuinticEase.cs
- ErrorWrapper.cs
- Compiler.cs
- KnowledgeBase.cs
- FileUtil.cs
- AllMembershipCondition.cs
- _ScatterGatherBuffers.cs
- MergePropertyDescriptor.cs
- PathFigureCollection.cs
- Documentation.cs
- DataControlCommands.cs
- GeneralTransform3DGroup.cs
- IPGlobalProperties.cs
- SecurityDescriptor.cs
- SchemaImporterExtension.cs
- QueueAccessMode.cs
- QilPatternFactory.cs
- OracleBFile.cs
- IgnoreDeviceFilterElement.cs
- ICspAsymmetricAlgorithm.cs
- ParseHttpDate.cs
- DataPagerFieldItem.cs
- PassportAuthentication.cs
- TrackingConditionCollection.cs
- NetStream.cs
- XmlReflectionMember.cs
- Win32Exception.cs
- RenamedEventArgs.cs
- TdsParserStateObject.cs
- HelpKeywordAttribute.cs
- GridEntry.cs
- CompilerTypeWithParams.cs
- SerialErrors.cs
- RuntimeArgumentHandle.cs
- RegistrationServices.cs
- GifBitmapDecoder.cs
- ConstructorExpr.cs
- XmlBoundElement.cs
- DesignerRegionCollection.cs
- UniqueSet.cs
- PageTheme.cs
- PagesChangedEventArgs.cs
- AssertSection.cs
- WindowsFormsEditorServiceHelper.cs
- TableLayoutSettingsTypeConverter.cs
- DecodeHelper.cs
- WebRequestModulesSection.cs
- NamespaceInfo.cs
- ByteStack.cs
- FontStyle.cs
- ComponentManagerBroker.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- KeyValueSerializer.cs
- LiteralControl.cs