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
- DictionaryEntry.cs
- CharConverter.cs
- DictionaryMarkupSerializer.cs
- ValidationErrorEventArgs.cs
- CompositeTypefaceMetrics.cs
- NumericPagerField.cs
- BamlTreeUpdater.cs
- Size3D.cs
- DesignTimeValidationFeature.cs
- XPathDocumentBuilder.cs
- OpCopier.cs
- _AutoWebProxyScriptEngine.cs
- EtwTrace.cs
- UpDownBaseDesigner.cs
- XmlUtil.cs
- SqlEnums.cs
- ProxyWebPartManager.cs
- SetStateDesigner.cs
- NestPullup.cs
- RecognizerInfo.cs
- StoreAnnotationsMap.cs
- TextParaLineResult.cs
- GenericXmlSecurityToken.cs
- DataTable.cs
- PrimitiveCodeDomSerializer.cs
- DataGridToolTip.cs
- NotificationContext.cs
- PrimitiveXmlSerializers.cs
- VisualCollection.cs
- WebPartDescription.cs
- StandardToolWindows.cs
- CompositeActivityTypeDescriptorProvider.cs
- XmlNodeChangedEventManager.cs
- EtwTrackingBehaviorElement.cs
- DiscoveryClientRequestChannel.cs
- WebBrowsableAttribute.cs
- ClientSettingsStore.cs
- ToolboxComponentsCreatedEventArgs.cs
- FormatterServices.cs
- TypeDelegator.cs
- Win32Native.cs
- TextBox.cs
- Interlocked.cs
- WebPartTransformerCollection.cs
- TabControlToolboxItem.cs
- DataObjectAttribute.cs
- ThreadPool.cs
- DynamicActivityProperty.cs
- UpdateCommandGenerator.cs
- ContainerSelectorGlyph.cs
- OleDbCommandBuilder.cs
- SettingsPropertyIsReadOnlyException.cs
- DataGridViewCellEventArgs.cs
- SqlProfileProvider.cs
- SafeNativeMethods.cs
- ComPlusTraceRecord.cs
- GifBitmapEncoder.cs
- EdmFunction.cs
- SimpleFieldTemplateUserControl.cs
- CurrentChangingEventManager.cs
- DataControlButton.cs
- ReadOnlyMetadataCollection.cs
- SettingsPropertyValue.cs
- ImportedNamespaceContextItem.cs
- OleDbPermission.cs
- ProcessModelInfo.cs
- SpeechEvent.cs
- SqlFunctionAttribute.cs
- ToolboxItemAttribute.cs
- UnmanagedBitmapWrapper.cs
- PathFigureCollection.cs
- DefaultWorkflowSchedulerService.cs
- TextStore.cs
- SchemaMerger.cs
- PermissionToken.cs
- EventEntry.cs
- DecoderFallback.cs
- FrugalList.cs
- DeploymentSection.cs
- Token.cs
- PropertyDescriptorGridEntry.cs
- DataGridViewTextBoxEditingControl.cs
- ConsoleTraceListener.cs
- TypeLibConverter.cs
- TypeGenericEnumerableViewSchema.cs
- TabletDeviceInfo.cs
- TemplateNameScope.cs
- figurelength.cs
- PermissionListSet.cs
- XmlnsCache.cs
- MailBnfHelper.cs
- HtmlInputControl.cs
- WindowsMenu.cs
- _AutoWebProxyScriptWrapper.cs
- SBCSCodePageEncoding.cs
- SystemIPInterfaceProperties.cs
- ScriptingProfileServiceSection.cs
- ADMembershipUser.cs
- ComplexTypeEmitter.cs
- DbMetaDataColumnNames.cs