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
- ListViewGroupConverter.cs
- IISMapPath.cs
- DashStyle.cs
- EntryWrittenEventArgs.cs
- ItemCollection.cs
- StateMachineWorkflowDesigner.cs
- SizeLimitedCache.cs
- Hex.cs
- UserPreferenceChangedEventArgs.cs
- Region.cs
- RegexBoyerMoore.cs
- PermissionAttributes.cs
- UntypedNullExpression.cs
- GetCertificateRequest.cs
- MetadataArtifactLoaderResource.cs
- ClientScriptManager.cs
- CompositeKey.cs
- TextRangeEditTables.cs
- RightNameExpirationInfoPair.cs
- CrossSiteScriptingValidation.cs
- Rect.cs
- NullableConverter.cs
- CachedFontFace.cs
- SettingsAttributes.cs
- DirectoryNotFoundException.cs
- ControlCollection.cs
- ListBindingHelper.cs
- wgx_commands.cs
- FileUtil.cs
- SecurityRuntime.cs
- RegularExpressionValidator.cs
- DataGridColumnEventArgs.cs
- MailDefinition.cs
- TextEditorCopyPaste.cs
- DrawingVisual.cs
- BrowserCapabilitiesFactoryBase.cs
- XmlEntityReference.cs
- SqlRecordBuffer.cs
- Permission.cs
- AlignmentXValidation.cs
- updateconfighost.cs
- PagedDataSource.cs
- FrameworkTemplate.cs
- HttpAsyncResult.cs
- XmlSerializationWriter.cs
- FacetEnabledSchemaElement.cs
- RepeaterItem.cs
- AvTraceDetails.cs
- CollectionBuilder.cs
- UnauthorizedAccessException.cs
- ObjectContextServiceProvider.cs
- FormatterConverter.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- Marshal.cs
- ModuleConfigurationInfo.cs
- PartialArray.cs
- RevocationPoint.cs
- KeyedHashAlgorithm.cs
- Button.cs
- AsyncResult.cs
- CounterCreationData.cs
- BitmapCodecInfoInternal.cs
- HandlerWithFactory.cs
- SigningCredentials.cs
- CompModSwitches.cs
- NestedContainer.cs
- AsnEncodedData.cs
- ToolStripSettings.cs
- ValueProviderWrapper.cs
- ValidationRuleCollection.cs
- DashStyles.cs
- DataControlFieldCell.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- VariableQuery.cs
- CustomErrorCollection.cs
- AppSettingsExpressionBuilder.cs
- SecurityRuntime.cs
- XPathParser.cs
- UrlMappingsSection.cs
- CategoryGridEntry.cs
- CSharpCodeProvider.cs
- ActiveXContainer.cs
- NoPersistProperty.cs
- NoneExcludedImageIndexConverter.cs
- OpCellTreeNode.cs
- WeakEventManager.cs
- StringStorage.cs
- InstalledFontCollection.cs
- ElementHostPropertyMap.cs
- altserialization.cs
- TitleStyle.cs
- TypePresenter.xaml.cs
- UTF8Encoding.cs
- BinaryParser.cs
- GcHandle.cs
- DataGridViewCheckBoxCell.cs
- Identity.cs
- ViewBox.cs
- parserscommon.cs
- WindowsToolbarItemAsMenuItem.cs