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
- NGCPageContentSerializerAsync.cs
- WindowsNonControl.cs
- ClrPerspective.cs
- MsmqIntegrationSecurityMode.cs
- IApplicationTrustManager.cs
- Decorator.cs
- ProviderConnectionPoint.cs
- ProcessModule.cs
- UserControlDesigner.cs
- InternalConfigRoot.cs
- AdCreatedEventArgs.cs
- KeyManager.cs
- DesignerProperties.cs
- OutOfProcStateClientManager.cs
- Component.cs
- SizeValueSerializer.cs
- Registry.cs
- XmlResolver.cs
- OleDbEnumerator.cs
- DataGridTableCollection.cs
- CodeSnippetCompileUnit.cs
- RuntimeConfigLKG.cs
- ConfigurationStrings.cs
- PlatformCulture.cs
- EndpointAddressMessageFilterTable.cs
- QueryStringParameter.cs
- CreatingCookieEventArgs.cs
- ThaiBuddhistCalendar.cs
- RequestUriProcessor.cs
- PropertySourceInfo.cs
- NotCondition.cs
- SafeHandle.cs
- RunInstallerAttribute.cs
- RequestSecurityTokenResponse.cs
- InsufficientMemoryException.cs
- DisplayNameAttribute.cs
- NodeCounter.cs
- LineBreakRecord.cs
- DbConnectionPoolGroupProviderInfo.cs
- CalendarData.cs
- PtsPage.cs
- MetadataItem_Static.cs
- MasterPageBuildProvider.cs
- wmiprovider.cs
- Nodes.cs
- WithStatement.cs
- CopyAttributesAction.cs
- Root.cs
- ColumnMapVisitor.cs
- TemplateXamlParser.cs
- OdbcHandle.cs
- WindowsSlider.cs
- SecurityContextCookieSerializer.cs
- Perspective.cs
- UrlMapping.cs
- BamlResourceSerializer.cs
- Visitor.cs
- SelectionItemPattern.cs
- IdentityModelStringsVersion1.cs
- GraphicsContext.cs
- X509PeerCertificateAuthentication.cs
- Effect.cs
- MtomMessageEncodingBindingElement.cs
- SqlDataSourceFilteringEventArgs.cs
- DataPagerFieldItem.cs
- ExpressionEditorAttribute.cs
- WindowHideOrCloseTracker.cs
- Typeface.cs
- OdbcStatementHandle.cs
- ResourcePool.cs
- TypeUnloadedException.cs
- UnmanagedMemoryStream.cs
- SoapAttributeAttribute.cs
- RawStylusSystemGestureInputReport.cs
- SingleResultAttribute.cs
- NativeCompoundFileAPIs.cs
- DataGridViewComboBoxCell.cs
- CaseInsensitiveHashCodeProvider.cs
- GenericEnumConverter.cs
- InternalCache.cs
- DuplexChannel.cs
- BevelBitmapEffect.cs
- StateItem.cs
- SchemaObjectWriter.cs
- MultiBindingExpression.cs
- Effect.cs
- ValidationRuleCollection.cs
- TableRowGroup.cs
- PreservationFileReader.cs
- ConditionalAttribute.cs
- TextAction.cs
- MailHeaderInfo.cs
- InkCanvasInnerCanvas.cs
- LazyTextWriterCreator.cs
- PeerResolverSettings.cs
- ParameterReplacerVisitor.cs
- LinearKeyFrames.cs
- DesignTimeVisibleAttribute.cs
- InternalUserCancelledException.cs
- SerializerProvider.cs