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
- DataControlField.cs
- MsmqTransportElement.cs
- DataContext.cs
- ListViewItem.cs
- UniqueIdentifierService.cs
- sqlinternaltransaction.cs
- odbcmetadatacollectionnames.cs
- TrackingMemoryStreamFactory.cs
- WindowsTreeView.cs
- TaiwanCalendar.cs
- IPipelineRuntime.cs
- ToolStripOverflow.cs
- SignedXml.cs
- ExtendedPropertiesHandler.cs
- XslCompiledTransform.cs
- SqlPersistenceProviderFactory.cs
- StrongNameIdentityPermission.cs
- DataGridViewCellStyle.cs
- HttpCapabilitiesSectionHandler.cs
- Int16KeyFrameCollection.cs
- TemplateControlParser.cs
- UpdatableGenericsFeature.cs
- ImpersonateTokenRef.cs
- ScriptIgnoreAttribute.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- OdbcUtils.cs
- FloaterParaClient.cs
- ToolStripDropDownMenu.cs
- ZoomPercentageConverter.cs
- ObjectDataSourceSelectingEventArgs.cs
- WithStatement.cs
- SystemMulticastIPAddressInformation.cs
- StreamUpdate.cs
- SqlProvider.cs
- Win32PrintDialog.cs
- DataSourceXmlClassAttribute.cs
- FormatConvertedBitmap.cs
- Native.cs
- TextParentUndoUnit.cs
- FacetValues.cs
- ReferenceTypeElement.cs
- DataStorage.cs
- InstanceData.cs
- Delegate.cs
- WindowsScrollBar.cs
- SocketPermission.cs
- RemotingConfiguration.cs
- CodeAttributeArgument.cs
- DelegateSerializationHolder.cs
- ViewGenerator.cs
- SignatureConfirmations.cs
- BaseTemplateCodeDomTreeGenerator.cs
- DocumentApplicationJournalEntry.cs
- StylusButtonCollection.cs
- commandenforcer.cs
- OdbcHandle.cs
- HandleRef.cs
- DbParameterCollectionHelper.cs
- XmlILModule.cs
- TypeConverterHelper.cs
- MasterPageParser.cs
- ProjectionPathSegment.cs
- connectionpool.cs
- TextBox.cs
- SymLanguageVendor.cs
- HelpInfo.cs
- XmlSchemaAttributeGroup.cs
- ComponentDesigner.cs
- DesignerHelpers.cs
- PolicyException.cs
- PropertyToken.cs
- HwndSourceParameters.cs
- ButtonRenderer.cs
- DigestComparer.cs
- PositiveTimeSpanValidator.cs
- VisualStyleInformation.cs
- AuthorizationRuleCollection.cs
- LongTypeConverter.cs
- DefaultAsyncDataDispatcher.cs
- InvalidateEvent.cs
- LinqDataSourceSelectEventArgs.cs
- brushes.cs
- MimeFormatExtensions.cs
- MetadataCache.cs
- SettingsPropertyWrongTypeException.cs
- MonthChangedEventArgs.cs
- D3DImage.cs
- NullExtension.cs
- LoginNameDesigner.cs
- DataBindingCollectionConverter.cs
- DataGridColumn.cs
- XmlSchemaAttribute.cs
- LocatorManager.cs
- LayoutTableCell.cs
- SqlEnums.cs
- DataBindingHandlerAttribute.cs
- DrawingServices.cs
- SrgsItemList.cs
- TablePattern.cs
- RedistVersionInfo.cs