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
- ScaleTransform.cs
- ComboBox.cs
- ContentDisposition.cs
- BuilderPropertyEntry.cs
- RoutedUICommand.cs
- DataGridColumn.cs
- SmiConnection.cs
- AuthenticationException.cs
- odbcmetadatacollectionnames.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- DataTableReaderListener.cs
- HebrewNumber.cs
- PackageRelationship.cs
- InputDevice.cs
- NativeMethods.cs
- AdornerDecorator.cs
- TextDecorationUnitValidation.cs
- PolyBezierSegment.cs
- _AutoWebProxyScriptHelper.cs
- DataFormats.cs
- Point3DCollectionValueSerializer.cs
- BreakRecordTable.cs
- Stack.cs
- MarshalDirectiveException.cs
- GlyphRun.cs
- HttpDictionary.cs
- BitmapEffectInputData.cs
- RetrieveVirtualItemEventArgs.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- LayoutEngine.cs
- MouseActionValueSerializer.cs
- DataGridItemAutomationPeer.cs
- TableLayoutSettings.cs
- RenderingEventArgs.cs
- ParenExpr.cs
- DirectoryInfo.cs
- X509Certificate2Collection.cs
- DynamicResourceExtensionConverter.cs
- ControlIdConverter.cs
- StringWriter.cs
- PeerApplicationLaunchInfo.cs
- Int64Converter.cs
- CalendarAutoFormat.cs
- SessionState.cs
- InfoCardRSACryptoProvider.cs
- AvtEvent.cs
- PrintDocument.cs
- ImageClickEventArgs.cs
- GPRECTF.cs
- TraceContext.cs
- Attributes.cs
- MarshalDirectiveException.cs
- DynamicEntity.cs
- AffineTransform3D.cs
- PropertyChangedEventManager.cs
- HtmlControl.cs
- DataGridViewRowPrePaintEventArgs.cs
- X500Name.cs
- ClickablePoint.cs
- KeyFrames.cs
- GridViewColumn.cs
- DataGridViewTopLeftHeaderCell.cs
- TemplateColumn.cs
- ProjectionPathSegment.cs
- EraserBehavior.cs
- Privilege.cs
- WSDualHttpSecurity.cs
- SelectionRangeConverter.cs
- AppDomainShutdownMonitor.cs
- autovalidator.cs
- InputMethod.cs
- ToolStripPanelCell.cs
- ListViewEditEventArgs.cs
- TabItemAutomationPeer.cs
- BuilderPropertyEntry.cs
- ViewCellRelation.cs
- CodePrimitiveExpression.cs
- SmtpFailedRecipientsException.cs
- ZoneButton.cs
- InstanceKeyCompleteException.cs
- XAMLParseException.cs
- BigIntegerStorage.cs
- SwitchLevelAttribute.cs
- StaticFileHandler.cs
- IntersectQueryOperator.cs
- SystemIPv6InterfaceProperties.cs
- Parallel.cs
- ZoneIdentityPermission.cs
- SimpleMailWebEventProvider.cs
- Symbol.cs
- ExpressionBuilderContext.cs
- ContentValidator.cs
- EndpointReference.cs
- CheckBoxBaseAdapter.cs
- CheckBoxList.cs
- ColorConvertedBitmapExtension.cs
- ReaderWriterLock.cs
- SpeakCompletedEventArgs.cs
- thaishape.cs
- ContentElementCollection.cs