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
- FixedStringLookup.cs
- GorillaCodec.cs
- AutomationPatternInfo.cs
- HitTestDrawingContextWalker.cs
- XmlWrappingReader.cs
- XPathNodeInfoAtom.cs
- ImageConverter.cs
- LocalizeDesigner.cs
- MemoryRecordBuffer.cs
- SymDocumentType.cs
- HttpCapabilitiesEvaluator.cs
- ComplexType.cs
- InputLanguageSource.cs
- AssemblyLoader.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- COM2ComponentEditor.cs
- LinqDataSourceView.cs
- WebPartExportVerb.cs
- ViewSimplifier.cs
- TextDecorationCollection.cs
- StatusBarItemAutomationPeer.cs
- TypeExtensionConverter.cs
- ConfigurationSectionGroup.cs
- DoWorkEventArgs.cs
- StopStoryboard.cs
- DataServiceKeyAttribute.cs
- XmlQueryOutput.cs
- XmlILConstructAnalyzer.cs
- Config.cs
- RawStylusActions.cs
- _HelperAsyncResults.cs
- RuleInfoComparer.cs
- SystemIPAddressInformation.cs
- CodeMethodReturnStatement.cs
- MarkupCompilePass2.cs
- WindowsSpinner.cs
- ParameterRetriever.cs
- ListItem.cs
- HybridObjectCache.cs
- RbTree.cs
- StorageRoot.cs
- XmlNodeList.cs
- WCFBuildProvider.cs
- RegexReplacement.cs
- ToolBarButtonClickEvent.cs
- ImageEditor.cs
- ProfilePropertySettingsCollection.cs
- SQLDecimal.cs
- TemplateKeyConverter.cs
- PolyQuadraticBezierSegment.cs
- XmlText.cs
- CompilerCollection.cs
- MetadataItemEmitter.cs
- GenerateTemporaryTargetAssembly.cs
- FrameworkRichTextComposition.cs
- CodeFieldReferenceExpression.cs
- Compiler.cs
- SqlCharStream.cs
- SqlProcedureAttribute.cs
- SafeSecurityHandles.cs
- CacheModeConverter.cs
- WinFormsUtils.cs
- AttributeUsageAttribute.cs
- XamlInterfaces.cs
- EntitySetBase.cs
- WebPartConnection.cs
- TypeInformation.cs
- DiscardableAttribute.cs
- FontFamilyIdentifier.cs
- DateTimeStorage.cs
- DataError.cs
- IndicFontClient.cs
- StateRuntime.cs
- GridViewRowCollection.cs
- BuildProviderCollection.cs
- IntPtr.cs
- ArgumentDesigner.xaml.cs
- TransformerInfoCollection.cs
- AssociationTypeEmitter.cs
- RegexTypeEditor.cs
- TextContainerHelper.cs
- QuadraticBezierSegment.cs
- ConstNode.cs
- SoapObjectInfo.cs
- XamlPoint3DCollectionSerializer.cs
- HtmlTableCellCollection.cs
- FileEnumerator.cs
- HttpSocketManager.cs
- ParenthesizePropertyNameAttribute.cs
- StandardToolWindows.cs
- SBCSCodePageEncoding.cs
- CommandField.cs
- CursorEditor.cs
- APCustomTypeDescriptor.cs
- MemberRestriction.cs
- AggregateNode.cs
- WebPartUserCapability.cs
- _OSSOCK.cs
- OdbcConnectionHandle.cs
- EpmCustomContentSerializer.cs