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
- EncryptedData.cs
- PreviewKeyDownEventArgs.cs
- SrgsText.cs
- DropTarget.cs
- TemplateAction.cs
- CapabilitiesUse.cs
- LinqDataSourceValidationException.cs
- externdll.cs
- DependencyPropertyChangedEventArgs.cs
- InstanceDescriptor.cs
- IgnoreFileBuildProvider.cs
- DataGridViewRowCancelEventArgs.cs
- EntityType.cs
- TrustLevelCollection.cs
- TrackingMemoryStream.cs
- XmlBufferReader.cs
- ReadOnlyTernaryTree.cs
- ExpressionBuilderContext.cs
- HeaderElement.cs
- SafeThreadHandle.cs
- WindowsListViewGroup.cs
- RegexRunnerFactory.cs
- CharEntityEncoderFallback.cs
- DocumentScope.cs
- LinkButton.cs
- GroupItem.cs
- TreeNodeBindingCollection.cs
- SchemaSetCompiler.cs
- DataBindingCollectionConverter.cs
- TemplateControlParser.cs
- IsolatedStoragePermission.cs
- ExpressionHelper.cs
- DesignerActionHeaderItem.cs
- StorageConditionPropertyMapping.cs
- TableLayoutStyle.cs
- PartitionResolver.cs
- SocketInformation.cs
- Source.cs
- ProfileBuildProvider.cs
- GenericIdentity.cs
- TextProviderWrapper.cs
- DbMetaDataFactory.cs
- HexParser.cs
- NameService.cs
- IsolationInterop.cs
- ProfessionalColors.cs
- Mouse.cs
- TypeDescriptionProvider.cs
- SimpleWorkerRequest.cs
- SystemIcmpV6Statistics.cs
- TextEditor.cs
- XmlParserContext.cs
- ZipIOCentralDirectoryBlock.cs
- DataServiceContext.cs
- XmlNodeChangedEventArgs.cs
- ConnectionStringSettingsCollection.cs
- DataGridHeaderBorder.cs
- ProfileBuildProvider.cs
- PipelineModuleStepContainer.cs
- NativeCppClassAttribute.cs
- SizeConverter.cs
- BindingExpressionUncommonField.cs
- StateDesigner.LayoutSelectionGlyph.cs
- RelatedPropertyManager.cs
- PolicyUnit.cs
- ClientData.cs
- ResourceManagerWrapper.cs
- RequestStatusBarUpdateEventArgs.cs
- XPathItem.cs
- ObjectKeyFrameCollection.cs
- FakeModelPropertyImpl.cs
- FontNamesConverter.cs
- EditorPart.cs
- ExpressionBinding.cs
- OleDbParameterCollection.cs
- InputLanguage.cs
- OleDbConnection.cs
- FontUnit.cs
- HtmlProps.cs
- ConsoleKeyInfo.cs
- DbInsertCommandTree.cs
- ErrorTolerantObjectWriter.cs
- DesignerSerializationOptionsAttribute.cs
- PersonalizationAdministration.cs
- DocComment.cs
- _ProxyRegBlob.cs
- ProviderUtil.cs
- ReachPrintTicketSerializerAsync.cs
- XmlFormatExtensionPrefixAttribute.cs
- PolicyException.cs
- ToolStripKeyboardHandlingService.cs
- EffectiveValueEntry.cs
- Cell.cs
- ExtensionFile.cs
- PointAnimation.cs
- XpsSerializerFactory.cs
- RsaSecurityKey.cs
- _NetRes.cs
- TraceEventCache.cs
- AttributeSetAction.cs