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
- ValidatorCollection.cs
- GeneralTransform3DTo2DTo3D.cs
- TemplateBindingExpression.cs
- LastQueryOperator.cs
- TextBoxRenderer.cs
- DataGridViewColumnTypePicker.cs
- PartialCachingControl.cs
- EventsTab.cs
- Pool.cs
- RowUpdatingEventArgs.cs
- TimeSpanStorage.cs
- HandledMouseEvent.cs
- WinFormsSpinner.cs
- HttpHandlersSection.cs
- ConnectionsZone.cs
- recordstate.cs
- _emptywebproxy.cs
- FlowDocumentFormatter.cs
- EncryptedXml.cs
- XmlDocument.cs
- ModelTreeEnumerator.cs
- BindingValueChangedEventArgs.cs
- TemplateInstanceAttribute.cs
- COM2PictureConverter.cs
- TypeElementCollection.cs
- TokenBasedSet.cs
- WpfPayload.cs
- BCryptNative.cs
- Geometry.cs
- SymbolPair.cs
- SqlGenericUtil.cs
- WebPartTransformerCollection.cs
- XmlProcessingInstruction.cs
- SafeViewOfFileHandle.cs
- SqlSupersetValidator.cs
- DelayedRegex.cs
- FindCriteriaCD1.cs
- sapiproxy.cs
- PointAnimationUsingPath.cs
- Line.cs
- MgmtResManager.cs
- Configuration.cs
- DocumentApplicationJournalEntryEventArgs.cs
- Span.cs
- EDesignUtil.cs
- PropertyChangeTracker.cs
- DataGridItemEventArgs.cs
- XmlChildEnumerator.cs
- CallTemplateAction.cs
- StyleCollection.cs
- SessionStateSection.cs
- ReflectPropertyDescriptor.cs
- VisualStyleInformation.cs
- MemberDomainMap.cs
- Decorator.cs
- MemberMemberBinding.cs
- ping.cs
- UserPreferenceChangedEventArgs.cs
- DateTimeOffsetConverter.cs
- TabPanel.cs
- MessageBox.cs
- CodeAttributeArgument.cs
- HelpKeywordAttribute.cs
- CanonicalXml.cs
- NavigatingCancelEventArgs.cs
- SafeThemeHandle.cs
- ProfilePropertySettings.cs
- ImageIndexConverter.cs
- KeyedHashAlgorithm.cs
- ObjectContextServiceProvider.cs
- TextBoxDesigner.cs
- SecurityTokenTypes.cs
- StrokeIntersection.cs
- DATA_BLOB.cs
- CollectionViewGroupInternal.cs
- TextTreeInsertUndoUnit.cs
- ValueProviderWrapper.cs
- XamlToRtfWriter.cs
- WebPartUserCapability.cs
- ProtocolElementCollection.cs
- HashCodeCombiner.cs
- _TransmitFileOverlappedAsyncResult.cs
- GiveFeedbackEventArgs.cs
- OptimizedTemplateContentHelper.cs
- DefaultAsyncDataDispatcher.cs
- SoapAttributeOverrides.cs
- DataGridrowEditEndingEventArgs.cs
- Translator.cs
- SqlServer2KCompatibilityCheck.cs
- UnionExpr.cs
- DbInsertCommandTree.cs
- DataConnectionHelper.cs
- TokenizerHelper.cs
- PropertyDescriptorComparer.cs
- JsonMessageEncoderFactory.cs
- DynamicPropertyHolder.cs
- LinqDataView.cs
- WebBrowserProgressChangedEventHandler.cs
- StringConverter.cs
- VisualTreeHelper.cs