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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MailBnfHelper.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- Rule.cs
- BindingList.cs
- ClipboardProcessor.cs
- NativeMethods.cs
- CodeStatement.cs
- IndexedString.cs
- ResourcePermissionBase.cs
- XmlDocument.cs
- WebDescriptionAttribute.cs
- DispatcherHookEventArgs.cs
- SimpleHandlerBuildProvider.cs
- OleDbRowUpdatingEvent.cs
- ProcessHostServerConfig.cs
- ExternalDataExchangeService.cs
- SqlXml.cs
- BaseAppDomainProtocolHandler.cs
- CompilerParameters.cs
- WebHttpBindingElement.cs
- MsdtcWrapper.cs
- AtomContentProperty.cs
- AccessControlList.cs
- InvariantComparer.cs
- ProcessHostFactoryHelper.cs
- ApplicationHost.cs
- PathTooLongException.cs
- ByteKeyFrameCollection.cs
- LoginView.cs
- PkcsUtils.cs
- ServiceInstanceProvider.cs
- InProcStateClientManager.cs
- ViewgenContext.cs
- UpdateTranslator.cs
- PasswordValidationException.cs
- OpenTypeLayout.cs
- _SafeNetHandles.cs
- QilChoice.cs
- DataGridViewRowCancelEventArgs.cs
- ExtensionFile.cs
- DataGridViewButtonColumn.cs
- XmlSerializerVersionAttribute.cs
- OperationCanceledException.cs
- Track.cs
- SymLanguageType.cs
- _NtlmClient.cs
- OutgoingWebRequestContext.cs
- InfiniteIntConverter.cs
- ClockGroup.cs
- SchemaElementLookUpTable.cs
- XsltLibrary.cs
- MetadataCache.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- AspNetHostingPermission.cs
- FullTrustAssembliesSection.cs
- MergePropertyDescriptor.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- FixedPageProcessor.cs
- TypedTableHandler.cs
- EqualityComparer.cs
- LocalizabilityAttribute.cs
- SendKeys.cs
- TransportSecurityProtocolFactory.cs
- StoreConnection.cs
- RenamedEventArgs.cs
- StrokeCollection2.cs
- CodeDefaultValueExpression.cs
- DBBindings.cs
- AttributeCollection.cs
- ETagAttribute.cs
- Screen.cs
- CellTreeNode.cs
- TaskResultSetter.cs
- ObfuscationAttribute.cs
- SmiEventSink_Default.cs
- _HeaderInfoTable.cs
- BuildTopDownAttribute.cs
- TableHeaderCell.cs
- InvalidPrinterException.cs
- DbUpdateCommandTree.cs
- HttpCapabilitiesEvaluator.cs
- ServicesExceptionNotHandledEventArgs.cs
- IdleTimeoutMonitor.cs
- BaseParser.cs
- DataKeyCollection.cs
- LinkLabelLinkClickedEvent.cs
- CodeSubDirectory.cs
- SqlNodeAnnotation.cs
- SerializerProvider.cs
- ColorConverter.cs
- BrowserCapabilitiesCompiler.cs
- TableLayoutColumnStyleCollection.cs
- Rotation3DAnimation.cs
- UserControlParser.cs
- ProcessModelSection.cs
- PasswordRecovery.cs
- CursorEditor.cs
- WebPartDeleteVerb.cs
- Int16Storage.cs
- InstancePersistenceException.cs