Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / MS / Internal / UIElementHelper.cs / 3 / UIElementHelper.cs
using System.Diagnostics; using System.Windows; using System.Windows.Media; using System.Windows.Media.Media3D; using System.Windows.Input; using MS.Internal.PresentationCore; namespace MS.Internal { internal static class UIElementHelper { [FriendAccessAllowed] internal static bool IsHitTestVisible(DependencyObject o) { Debug.Assert(o != null, "UIElementHelper.IsHitTestVisible called with null argument"); UIElement oAsUIElement = o as UIElement; if (oAsUIElement != null) { return oAsUIElement.IsHitTestVisible; } else { return ((UIElement3D)o).IsHitTestVisible; } } [FriendAccessAllowed] internal static bool IsVisible(DependencyObject o) { Debug.Assert(o != null, "UIElementHelper.IsVisible called with null argument"); UIElement oAsUIElement = o as UIElement; if (oAsUIElement != null) { return oAsUIElement.IsVisible; } else { return ((UIElement3D)o).IsVisible; } } [FriendAccessAllowed] internal static DependencyObject PredictFocus(DependencyObject o, FocusNavigationDirection direction) { Debug.Assert(o != null, "UIElementHelper.PredictFocus called with null argument"); UIElement oAsUIElement = o as UIElement; if (oAsUIElement != null) { return oAsUIElement.PredictFocus(direction); } else { return ((UIElement3D)o).PredictFocus(direction); } } [FriendAccessAllowed] internal static UIElement GetContainingUIElement2D(DependencyObject reference) { UIElement element = null; while (reference != null) { element = reference as UIElement; if (element != null) break; reference = VisualTreeHelper.GetParent(reference); } return element; } [FriendAccessAllowed] internal static DependencyObject GetUIParent(DependencyObject child) { DependencyObject parent = GetUIParent(child, false); return parent; } [FriendAccessAllowed] internal static DependencyObject GetUIParent(DependencyObject child, bool continuePastVisualTree) { DependencyObject parent = null; DependencyObject myParent = null; // Try to find a UIElement parent in the visual ancestry. if (child is Visual) { myParent = ((Visual)child).InternalVisualParent; } else { myParent = ((Visual3D)child).InternalVisualParent; } parent = InputElement.GetContainingUIElement(myParent) as DependencyObject; // If there was no UIElement parent in the visual ancestry, // check along the logical branch. if(parent == null && continuePastVisualTree) { UIElement childAsUIElement = child as UIElement; if (childAsUIElement != null) { parent = InputElement.GetContainingInputElement(childAsUIElement.GetUIParentCore()) as DependencyObject; } else { UIElement3D childAsUIElement3D = child as UIElement3D; if (childAsUIElement3D != null) { parent = InputElement.GetContainingInputElement(childAsUIElement3D.GetUIParentCore()) as DependencyObject; } } } return parent; } [FriendAccessAllowed] internal static bool IsUIElementOrUIElement3D(DependencyObject o) { return (o is UIElement || o is UIElement3D); } } } // 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
- DataViewManagerListItemTypeDescriptor.cs
- XmlDownloadManager.cs
- Version.cs
- GenericsInstances.cs
- SrgsElementFactory.cs
- TextFindEngine.cs
- XhtmlCssHandler.cs
- CodeSnippetTypeMember.cs
- PickBranch.cs
- ConfigXmlComment.cs
- MasterPage.cs
- PersonalizationAdministration.cs
- IISUnsafeMethods.cs
- PreservationFileReader.cs
- CompilerScopeManager.cs
- OdbcErrorCollection.cs
- XamlStyleSerializer.cs
- ObjectDisposedException.cs
- Console.cs
- Win32Native.cs
- FrameworkContextData.cs
- BitmapEffectGroup.cs
- Filter.cs
- WebScriptMetadataMessageEncoderFactory.cs
- PresentationAppDomainManager.cs
- RoutingExtension.cs
- Iis7Helper.cs
- XmlSchemaSequence.cs
- SqlProfileProvider.cs
- KeySplineConverter.cs
- CmsInterop.cs
- GridItemProviderWrapper.cs
- AdapterDictionary.cs
- TranslateTransform3D.cs
- ActivityStateRecord.cs
- CustomAttributeFormatException.cs
- LowerCaseStringConverter.cs
- RelationshipFixer.cs
- XsltLibrary.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- TextRangeAdaptor.cs
- AttributeCollection.cs
- ControlUtil.cs
- DocumentGrid.cs
- PresentationAppDomainManager.cs
- XmlNamedNodeMap.cs
- Style.cs
- CustomAttributeSerializer.cs
- InlineCollection.cs
- TableCellCollection.cs
- WebDisplayNameAttribute.cs
- ControlIdConverter.cs
- DynamicMethod.cs
- NativeMethods.cs
- Codec.cs
- ProtocolElement.cs
- ToolStripDesignerAvailabilityAttribute.cs
- EventWaitHandle.cs
- EntityClassGenerator.cs
- ExtendedPropertiesHandler.cs
- TextAnchor.cs
- StatusBar.cs
- SafeNativeMethodsMilCoreApi.cs
- NameTable.cs
- ProviderConnectionPointCollection.cs
- BackgroundFormatInfo.cs
- PageRequestManager.cs
- CultureNotFoundException.cs
- CachedFontFamily.cs
- CompiledQueryCacheEntry.cs
- Guid.cs
- BypassElement.cs
- ScriptingWebServicesSectionGroup.cs
- SQLByteStorage.cs
- WpfXamlLoader.cs
- SocketAddress.cs
- ExtensionFile.cs
- PageParser.cs
- TagPrefixAttribute.cs
- GcSettings.cs
- QuadTree.cs
- XmlStreamStore.cs
- BinaryHeap.cs
- FrameAutomationPeer.cs
- GeneralTransform.cs
- DataGridColumnHeader.cs
- SQLBinaryStorage.cs
- MethodAccessException.cs
- DecimalConstantAttribute.cs
- CellTreeSimplifier.cs
- NativeCppClassAttribute.cs
- ResourceDisplayNameAttribute.cs
- CircleEase.cs
- DynamicValidatorEventArgs.cs
- Number.cs
- DeleteHelper.cs
- BatchParser.cs
- InvariantComparer.cs
- ListenerElementsCollection.cs
- ErrorWebPart.cs