Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Automation / Peers / TreeViewItemAutomationPeer.cs / 1 / TreeViewItemAutomationPeer.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 class TreeViewItemAutomationPeer : FrameworkElementAutomationPeer, IExpandCollapseProvider, ISelectionItemProvider, IScrollItemProvider { /// public TreeViewItemAutomationPeer(TreeViewItem owner): base(owner) { } /// override protected string GetClassNameCore() { return "TreeViewItem"; } /// override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.TreeItem; } /// override public object GetPattern(PatternInterface patternInterface) { if (patternInterface == PatternInterface.ExpandCollapse) { return this; } else if (patternInterface == PatternInterface.SelectionItem) { return this; } else if (patternInterface == PatternInterface.ScrollItem) { return this; } return null; } /// void IExpandCollapseProvider.Expand() { if(!IsEnabled()) throw new ElementNotEnabledException(); TreeViewItem treeViewItem = (TreeViewItem)Owner; if (!treeViewItem.HasItems) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } treeViewItem.IsExpanded = true; } /// void IExpandCollapseProvider.Collapse() { if(!IsEnabled()) throw new ElementNotEnabledException(); TreeViewItem treeViewItem = (TreeViewItem)Owner; if (!treeViewItem.HasItems) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } treeViewItem.IsExpanded = false; } ExpandCollapseState IExpandCollapseProvider.ExpandCollapseState { get { TreeViewItem treeViewItem = (TreeViewItem)Owner; if (treeViewItem.HasItems) return treeViewItem.IsExpanded ? ExpandCollapseState.Expanded : ExpandCollapseState.Collapsed; else return ExpandCollapseState.LeafNode; } } // [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] internal void RaiseExpandCollapseAutomationEvent(bool oldValue, bool newValue) { RaisePropertyChangedEvent( ExpandCollapsePatternIdentifiers.ExpandCollapseStateProperty, oldValue ? ExpandCollapseState.Expanded : ExpandCollapseState.Collapsed, newValue ? ExpandCollapseState.Expanded : ExpandCollapseState.Collapsed); } #region ISelectionItemProvider ////// Selects this element, removing any other element from the selection. /// void ISelectionItemProvider.Select() { ((TreeViewItem)Owner).IsSelected = true; } ////// Selects this item. /// void ISelectionItemProvider.AddToSelection() { TreeView treeView = ((TreeViewItem)Owner).ParentTreeView; // If TreeView already has a selected item different from current - we cannot add to selection and throw if (treeView == null || (treeView.SelectedItem != null && treeView.SelectedContainer != Owner)) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } ((TreeViewItem)Owner).IsSelected = true; } ////// Unselects this item. /// void ISelectionItemProvider.RemoveFromSelection() { ((TreeViewItem)Owner).IsSelected = false; } ////// Returns whether the item is selected. /// bool ISelectionItemProvider.IsSelected { get { return ((TreeViewItem)Owner).IsSelected; } } ////// The logical element that supports the SelectionPattern for this item. /// IRawElementProviderSimple ISelectionItemProvider.SelectionContainer { get { ItemsControl parent = ((TreeViewItem)Owner).ParentItemsControl; if (parent != null) { AutomationPeer peer = UIElementAutomationPeer.FromElement(parent); if (peer != null) return ProviderFromPeer(peer); } return null; } } void IScrollItemProvider.ScrollIntoView() { ((TreeViewItem)Owner).BringIntoView(); } // [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] internal void RaiseAutomationIsSelectedChanged(bool isSelected) { RaisePropertyChangedEvent( SelectionItemPatternIdentifiers.IsSelectedProperty, !isSelected, isSelected); } #endregion } } // 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
- HtmlHead.cs
- XmlDataSourceView.cs
- GenerateTemporaryTargetAssembly.cs
- TransformerInfo.cs
- PreviewPrintController.cs
- SpecialNameAttribute.cs
- ListenDesigner.cs
- ObjectViewEntityCollectionData.cs
- ListItemCollection.cs
- MultipartContentParser.cs
- PropertyAccessVisitor.cs
- ContainerParaClient.cs
- NullToBooleanConverter.cs
- SqlBooleanMismatchVisitor.cs
- CounterCreationDataCollection.cs
- WsdlWriter.cs
- DataMisalignedException.cs
- HttpListenerPrefixCollection.cs
- DbReferenceCollection.cs
- XmlDictionaryWriter.cs
- ReachPageContentCollectionSerializer.cs
- ChangeDirector.cs
- CultureTable.cs
- ErrorFormatterPage.cs
- Lease.cs
- DateBoldEvent.cs
- MSAAEventDispatcher.cs
- WebDisplayNameAttribute.cs
- OdbcConnectionPoolProviderInfo.cs
- WebMessageFormatHelper.cs
- SetterBase.cs
- XsdValidatingReader.cs
- BezierSegment.cs
- SQLGuidStorage.cs
- SynchronizedDispatch.cs
- InstanceValue.cs
- PrincipalPermission.cs
- HwndAppCommandInputProvider.cs
- EncodingInfo.cs
- PrintPreviewDialog.cs
- TimeSpanOrInfiniteConverter.cs
- BindingExpressionBase.cs
- Collection.cs
- OSEnvironmentHelper.cs
- ScriptResourceAttribute.cs
- AdapterSwitches.cs
- UrlUtility.cs
- CollectionMarkupSerializer.cs
- XsdValidatingReader.cs
- MailMessage.cs
- IERequestCache.cs
- FontStretchConverter.cs
- PartialList.cs
- CachedCompositeFamily.cs
- XsltCompileContext.cs
- VirtualizingPanel.cs
- DiagnosticsConfiguration.cs
- ExtenderProviderService.cs
- PlatformNotSupportedException.cs
- HwndSourceParameters.cs
- AssemblyHash.cs
- IntSecurity.cs
- FastEncoderWindow.cs
- BindingBase.cs
- SmtpNtlmAuthenticationModule.cs
- IndexedString.cs
- WindowsTokenRoleProvider.cs
- PipeStream.cs
- ProcessProtocolHandler.cs
- SecurityCriticalDataForSet.cs
- AttributeTable.cs
- CompositeCollection.cs
- PropertyDescriptorCollection.cs
- _NegotiateClient.cs
- ImageAutomationPeer.cs
- StandardCommands.cs
- TextComposition.cs
- StylusPoint.cs
- MaskedTextBoxDesignerActionList.cs
- SynchronizedInputProviderWrapper.cs
- XmlUtilWriter.cs
- DbConnectionPool.cs
- HttpPostedFileWrapper.cs
- GridViewRowPresenter.cs
- OrderedDictionary.cs
- TableParagraph.cs
- QualifiedCellIdBoolean.cs
- MappingModelBuildProvider.cs
- GetWinFXPath.cs
- RSAOAEPKeyExchangeDeformatter.cs
- MimeMapping.cs
- UserPreferenceChangingEventArgs.cs
- UnionQueryOperator.cs
- PropertyChangedEventArgs.cs
- SqlEnums.cs
- OleDbCommandBuilder.cs
- DrawToolTipEventArgs.cs
- UrlAuthorizationModule.cs
- COMException.cs
- EasingQuaternionKeyFrame.cs