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
- DataList.cs
- PrintDialog.cs
- QilFunction.cs
- TypeInfo.cs
- ScrollableControl.cs
- NamespaceDisplay.xaml.cs
- XmlCharacterData.cs
- SchemaNamespaceManager.cs
- StrokeNodeData.cs
- DataGridItemAutomationPeer.cs
- webclient.cs
- XappLauncher.cs
- GeneratedView.cs
- HttpHandlerActionCollection.cs
- TreeNodeStyle.cs
- GenerateTemporaryTargetAssembly.cs
- ToolStripLabel.cs
- TypeNameParser.cs
- SessionStateSection.cs
- Bind.cs
- UriScheme.cs
- Memoizer.cs
- DesignerSerializerAttribute.cs
- ComMethodElementCollection.cs
- KeyedHashAlgorithm.cs
- PixelFormats.cs
- BitmapEffectvisualstate.cs
- BoolExpressionVisitors.cs
- ProfileSettings.cs
- UriParserTemplates.cs
- RegexWorker.cs
- OrthographicCamera.cs
- TypeUsageBuilder.cs
- XmlSchemaImport.cs
- ServiceProviders.cs
- AsyncOperation.cs
- SeekableReadStream.cs
- DataGridViewRow.cs
- SwitchCase.cs
- AppDomainUnloadedException.cs
- ListenerAdaptersInstallComponent.cs
- LayoutEngine.cs
- TextTreeUndo.cs
- CodeExporter.cs
- NameValueConfigurationElement.cs
- ForeignKeyFactory.cs
- TerminatorSinks.cs
- TextTreeRootTextBlock.cs
- Predicate.cs
- brushes.cs
- DecimalStorage.cs
- HostDesigntimeLicenseContext.cs
- IndexedEnumerable.cs
- WebServiceFault.cs
- AvTraceDetails.cs
- EncryptedKey.cs
- PixelShader.cs
- SystemIcmpV6Statistics.cs
- DataGridViewRowCollection.cs
- CollectionViewSource.cs
- XmlTextReaderImpl.cs
- OneToOneMappingSerializer.cs
- SystemBrushes.cs
- Input.cs
- PrintEvent.cs
- PauseStoryboard.cs
- FieldMetadata.cs
- CodeDirectionExpression.cs
- X500Name.cs
- Tag.cs
- QuerySelectOp.cs
- RowParagraph.cs
- RuleInfoComparer.cs
- TableLayoutColumnStyleCollection.cs
- ComPlusServiceHost.cs
- WebPartVerb.cs
- TextServicesLoader.cs
- PassportIdentity.cs
- AutoResetEvent.cs
- PageVisual.cs
- CustomAttribute.cs
- SqlEnums.cs
- PaintEvent.cs
- ApplicationServiceManager.cs
- CodeAttributeDeclarationCollection.cs
- WindowPattern.cs
- PageCatalogPart.cs
- XmlSerializableReader.cs
- StrokeCollectionDefaultValueFactory.cs
- TraceListener.cs
- MarkupCompilePass2.cs
- TextRunCache.cs
- mansign.cs
- TextServicesCompartmentContext.cs
- SystemResourceKey.cs
- ConsoleCancelEventArgs.cs
- HandleExceptionArgs.cs
- BuildProvider.cs
- PageAsyncTaskManager.cs
- DelegatingHeader.cs