Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Controls / Primitives / LayoutInformation.cs / 1 / LayoutInformation.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2005 // // File: LayoutInformation // Spec: [....]/sites/Avalon/Specs/LayoutInformation%20class.doc //----------------------------------------------------------------------------- using System; using System.Windows.Media; using System.Windows.Threading; namespace System.Windows.Controls.Primitives { ////// This interface exposes additional layout information not exposed otherwise on FrameworkElement. /// This information is mostly used by the designer programs to produce additional visual clues for the user /// during interactive editing of the elements and layout properties. /// public static class LayoutInformation { private static void CheckArgument(FrameworkElement element) { if (element == null) { throw new ArgumentNullException("element"); } } ////// Returns the rectangle that represents Layout Slot - the layout partition reserved for the /// child by the layout parent. This info is in the coordinte system of the layout parent. /// public static Rect GetLayoutSlot(FrameworkElement element) { CheckArgument(element); return element.PreviousArrangeRect; } ////// Returns a geometry which was computed by layout for the child. This is generally a visible region of the child. /// Layout can compute automatic clip region when the child is larger then layout constraints or has ClipToBounds /// property set. Note that because of LayoutTransform, this could be a non-rectangular geometry. While general geometry is somewhat /// complex to operate with, it is possible to check if the Geometry returned is RectangularGeometry or, if not - use Geometry.Bounds /// property to get bounding box of the visible portion of the element. /// public static Geometry GetLayoutClip(FrameworkElement element) { CheckArgument(element); return element.GetLayoutClipInternal(); } ////// Returns a UIElement which was being processed by Layout Engine at the moment /// an unhandled exception casued Layout Engine to abandon the operation and unwind. /// Returns non-null result only for a period of time before next layout update is /// initiated. Can be examined from the application exception handler. /// /// The Dispatcher object that specifies the scope of operation. There is one Layout Engine per Dispatcher. public static UIElement GetLayoutExceptionElement(Dispatcher dispatcher) { if(dispatcher == null) throw new ArgumentNullException("dispatcher"); UIElement e = null; ContextLayoutManager lm = ContextLayoutManager.From(dispatcher); if(lm != null) e = lm.GetLastExceptionElement(); return e; } } } // 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
- BuildManagerHost.cs
- SqlDeflator.cs
- XmlSchemaCollection.cs
- panel.cs
- OdbcCommandBuilder.cs
- DateTimeOffsetAdapter.cs
- DeclarativeCatalogPart.cs
- DataTablePropertyDescriptor.cs
- ZoomingMessageFilter.cs
- ChildrenQuery.cs
- CompilerHelpers.cs
- SafeThreadHandle.cs
- ScrollEvent.cs
- Sequence.cs
- UIElement.cs
- EntityConnectionStringBuilderItem.cs
- ResourceCategoryAttribute.cs
- InternalPolicyElement.cs
- Int32Collection.cs
- LicenseManager.cs
- UrlMappingCollection.cs
- SoapObjectInfo.cs
- BrowserInteropHelper.cs
- SourceCollection.cs
- SafeMILHandle.cs
- ApplicationInfo.cs
- ObjectDataSourceSelectingEventArgs.cs
- prompt.cs
- NamespaceInfo.cs
- UmAlQuraCalendar.cs
- PrimitiveXmlSerializers.cs
- ObjectQuery.cs
- WebBrowserPermission.cs
- List.cs
- ContentHostHelper.cs
- KerberosSecurityTokenAuthenticator.cs
- ItemCollectionEditor.cs
- SoapClientProtocol.cs
- TiffBitmapDecoder.cs
- CompilerErrorCollection.cs
- ContextMenuAutomationPeer.cs
- GraphicsContainer.cs
- WinCategoryAttribute.cs
- UInt16Converter.cs
- WmlControlAdapter.cs
- IdleTimeoutMonitor.cs
- CharacterShapingProperties.cs
- RbTree.cs
- MultiPageTextView.cs
- RepeatBehavior.cs
- FormatStringEditor.cs
- ValueTypeFixupInfo.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- PageBreakRecord.cs
- ExcCanonicalXml.cs
- ButtonChrome.cs
- NetworkCredential.cs
- Vector3DAnimation.cs
- ToolStripItemRenderEventArgs.cs
- RefType.cs
- HitTestParameters.cs
- SqlCachedBuffer.cs
- InstalledVoice.cs
- DetailsViewInsertedEventArgs.cs
- ObjectStateManager.cs
- XsltException.cs
- JulianCalendar.cs
- SamlAuthenticationStatement.cs
- RewritingPass.cs
- ProxyAttribute.cs
- MailMessageEventArgs.cs
- PseudoWebRequest.cs
- wgx_exports.cs
- FontFamilyConverter.cs
- ObfuscationAttribute.cs
- FormViewDeleteEventArgs.cs
- COM2PropertyDescriptor.cs
- PrincipalPermission.cs
- TemplateComponentConnector.cs
- UserNamePasswordClientCredential.cs
- NetworkInformationException.cs
- BitmapSizeOptions.cs
- AuthorizationRule.cs
- Preprocessor.cs
- CommandPlan.cs
- LineProperties.cs
- PartialList.cs
- Block.cs
- TemplatedMailWebEventProvider.cs
- PropertyKey.cs
- ProviderBase.cs
- TagNameToTypeMapper.cs
- XmlChoiceIdentifierAttribute.cs
- EventWaitHandleSecurity.cs
- XmlObjectSerializerWriteContextComplex.cs
- ImageDrawing.cs
- XPathMultyIterator.cs
- Pair.cs
- ConfigurationManagerHelper.cs
- HtmlInputImage.cs