Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Automation / Peers / TreeViewAutomationPeer.cs / 1 / TreeViewAutomationPeer.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 TreeViewAutomationPeer : FrameworkElementAutomationPeer, ISelectionProvider { /// public TreeViewAutomationPeer(TreeView owner): base(owner) {} /// override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.Tree; } /// override protected string GetClassNameCore() { return "TreeView"; } /// override public object GetPattern(PatternInterface patternInterface) { if (patternInterface == PatternInterface.Selection) { return this; } else if(patternInterface == PatternInterface.Scroll) { ItemsControl owner = (ItemsControl)Owner; if(owner.ScrollHost != null) { AutomationPeer scrollPeer = UIElementAutomationPeer.CreatePeerForElement(owner.ScrollHost); if(scrollPeer != null && scrollPeer is IScrollProvider) { scrollPeer.EventsSource = this; return (IScrollProvider)scrollPeer; } } } return null; } /// protected override ListGetChildrenCore() { ItemsControl owner = (ItemsControl)Owner; ItemCollection items = owner.Items; if (items.Count > 0) { List children = new List (items.Count); for (int i = 0; i < items.Count; i++) { TreeViewItem treeViewItem = owner.ItemContainerGenerator.ContainerFromIndex(i) as TreeViewItem; if (treeViewItem != null) { AutomationPeer peer = UIElementAutomationPeer.FromElement(treeViewItem); if (peer == null) peer = UIElementAutomationPeer.CreatePeerForElement(treeViewItem); children.Add(peer); } } return children; } return null; } //-------------------------------------------------------------------- // // ISelectionProvider // //------------------------------------------------------------------- #region ISelectionProvider /// /// Returns the current selection. /// ///The current selection. IRawElementProviderSimple[] ISelectionProvider.GetSelection() { IRawElementProviderSimple[] selection = null; TreeViewItem selectedContainer = ((TreeView)Owner).SelectedContainer; if (selectedContainer != null) { AutomationPeer peer = UIElementAutomationPeer.FromElement(selectedContainer); if (peer != null) { selection = new IRawElementProviderSimple[] { ProviderFromPeer(peer) }; } } if (selection == null) { selection = new IRawElementProviderSimple[0]; } return selection; } bool ISelectionProvider.CanSelectMultiple { get { return false; } } bool ISelectionProvider.IsSelectionRequired { get { return false; } } #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
- PermissionListSet.cs
- CacheForPrimitiveTypes.cs
- SBCSCodePageEncoding.cs
- HtmlImage.cs
- EnumerableRowCollection.cs
- ProviderBase.cs
- Tokenizer.cs
- DesignerVerbCollection.cs
- XmlSchemaAttribute.cs
- CustomAttributeBuilder.cs
- KnownTypesHelper.cs
- DiscoveryClientReferences.cs
- RepeaterCommandEventArgs.cs
- ExpressionNormalizer.cs
- SerializationSectionGroup.cs
- XsdValidatingReader.cs
- ServiceModelConfigurationSectionCollection.cs
- ADConnectionHelper.cs
- UnmanagedBitmapWrapper.cs
- ProcessHost.cs
- ToolStrip.cs
- DataGridComboBoxColumn.cs
- ManagementBaseObject.cs
- CultureInfo.cs
- SemanticBasicElement.cs
- DataControlFieldCollection.cs
- ToolStripRenderEventArgs.cs
- ZipIOExtraFieldZip64Element.cs
- InputScope.cs
- WebPartManager.cs
- WebPartEditorApplyVerb.cs
- DataSourceCache.cs
- Decorator.cs
- ContextCorrelationInitializer.cs
- SourceItem.cs
- BaseTemplateCodeDomTreeGenerator.cs
- JapaneseLunisolarCalendar.cs
- SoapTypeAttribute.cs
- AdapterDictionary.cs
- ReceiveReply.cs
- DataGridViewColumnStateChangedEventArgs.cs
- HtmlTableCellCollection.cs
- PrintingPermission.cs
- MetadataProperty.cs
- CookieProtection.cs
- UnauthorizedAccessException.cs
- TokenBasedSet.cs
- WhitespaceSignificantCollectionAttribute.cs
- PrePostDescendentsWalker.cs
- Compiler.cs
- AssemblyAssociatedContentFileAttribute.cs
- PerformanceCounterLib.cs
- SystemResourceHost.cs
- oledbmetadatacollectionnames.cs
- Model3DCollection.cs
- GregorianCalendar.cs
- _HTTPDateParse.cs
- EntityDataSourceWrapperCollection.cs
- ActivityExecutorOperation.cs
- BitmapMetadataBlob.cs
- LocalizabilityAttribute.cs
- ExpressionReplacer.cs
- EnumValidator.cs
- OverflowException.cs
- MatrixCamera.cs
- ArrayWithOffset.cs
- TransformerInfoCollection.cs
- RandomNumberGenerator.cs
- WebPartTransformerAttribute.cs
- InvalidFilterCriteriaException.cs
- XmlBinaryWriter.cs
- _LoggingObject.cs
- DLinqDataModelProvider.cs
- NameValuePermission.cs
- DataGridColumnHeader.cs
- QilXmlWriter.cs
- StandardCommandToolStripMenuItem.cs
- ElementHost.cs
- ReliableInputConnection.cs
- ToolboxComponentsCreatedEventArgs.cs
- ManagedFilter.cs
- XmlSequenceWriter.cs
- FillErrorEventArgs.cs
- BmpBitmapEncoder.cs
- WsdlBuildProvider.cs
- WSSecurityPolicy12.cs
- Application.cs
- ManifestSignatureInformation.cs
- SHA1CryptoServiceProvider.cs
- ImageIndexConverter.cs
- WSDualHttpBindingCollectionElement.cs
- ServiceDurableInstance.cs
- TextTreeRootTextBlock.cs
- Span.cs
- MasterPageBuildProvider.cs
- RegexInterpreter.cs
- OleDbCommand.cs
- XamlPoint3DCollectionSerializer.cs
- DataBoundControlHelper.cs
- QilVisitor.cs