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
- Match.cs
- CompilerResults.cs
- TCEAdapterGenerator.cs
- GridItem.cs
- EntityProxyFactory.cs
- HtmlControl.cs
- TimeSpanValidator.cs
- ScrollItemPattern.cs
- XMLSchema.cs
- SafeNativeMethods.cs
- DictionaryGlobals.cs
- UriTemplateLiteralQueryValue.cs
- VirtualDirectoryMappingCollection.cs
- ProviderUtil.cs
- SourceItem.cs
- GeometryGroup.cs
- PerformanceCounter.cs
- SynthesizerStateChangedEventArgs.cs
- TableParaClient.cs
- AsymmetricAlgorithm.cs
- TypedReference.cs
- DesignerHelpers.cs
- lengthconverter.cs
- MetaType.cs
- CapacityStreamGeometryContext.cs
- SetterBase.cs
- prefixendpointaddressmessagefilter.cs
- MetadataArtifactLoaderFile.cs
- ScriptingProfileServiceSection.cs
- ExtensionFile.cs
- SearchForVirtualItemEventArgs.cs
- EventLogEntryCollection.cs
- ButtonStandardAdapter.cs
- DataGridViewCellConverter.cs
- Rfc2898DeriveBytes.cs
- SQLDecimalStorage.cs
- WinEventTracker.cs
- DataGridViewRowConverter.cs
- ClonableStack.cs
- XPathSingletonIterator.cs
- GridPatternIdentifiers.cs
- InternalCache.cs
- HttpMethodConstraint.cs
- XhtmlBasicImageAdapter.cs
- ClientCredentialsElement.cs
- smtpconnection.cs
- MonthCalendar.cs
- PropertyMappingExceptionEventArgs.cs
- FunctionQuery.cs
- ServiceAppDomainAssociationProvider.cs
- sqlcontext.cs
- XmlImplementation.cs
- SpecialNameAttribute.cs
- DependencyObjectPropertyDescriptor.cs
- MediaEntryAttribute.cs
- ComponentConverter.cs
- MachineKeySection.cs
- DashStyle.cs
- updateconfighost.cs
- MenuBindingsEditorForm.cs
- TextBoxAutoCompleteSourceConverter.cs
- PreservationFileReader.cs
- TextTreeTextNode.cs
- HostProtectionException.cs
- glyphs.cs
- ProviderCollection.cs
- TriState.cs
- StructuredProperty.cs
- ParsedRoute.cs
- SQLMoneyStorage.cs
- UncommonField.cs
- FixedFindEngine.cs
- CodeNamespaceImport.cs
- XamlRtfConverter.cs
- XamlReaderHelper.cs
- PackageDigitalSignature.cs
- LZCodec.cs
- EntityViewGenerator.cs
- SecurityElement.cs
- safelink.cs
- SingleStorage.cs
- GetPageCompletedEventArgs.cs
- OracleRowUpdatedEventArgs.cs
- MemberPath.cs
- TextRangeSerialization.cs
- TreeNodeBinding.cs
- StorageEntityContainerMapping.cs
- UserControlDesigner.cs
- XmlAttributes.cs
- DataGridViewColumn.cs
- PromptBuilder.cs
- DebugHandleTracker.cs
- WebServiceReceiveDesigner.cs
- FunctionQuery.cs
- XmlSchemaAttribute.cs
- ActiveDocumentEvent.cs
- Quad.cs
- OAVariantLib.cs
- EnumerableCollectionView.cs
- MissingManifestResourceException.cs