Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / System / Windows / Controls / Primitives / LayoutInformation.cs / 1 / LayoutInformation.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2005 // // File: LayoutInformation // Spec: http://team/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. //------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2005 // // File: LayoutInformation // Spec: http://team/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
- Margins.cs
- X509ChainPolicy.cs
- BinarySecretKeyIdentifierClause.cs
- ApplicationActivator.cs
- URL.cs
- WebControlParameterProxy.cs
- PageStatePersister.cs
- InvokePatternIdentifiers.cs
- EmbeddedMailObjectCollectionEditor.cs
- DescendantOverDescendantQuery.cs
- SecurityUtils.cs
- CallbackValidator.cs
- ObjectQuery_EntitySqlExtensions.cs
- LambdaCompiler.Lambda.cs
- KeyGesture.cs
- PathData.cs
- XmlSerializer.cs
- RedirectionProxy.cs
- EntityDataSourceDesigner.cs
- CodeVariableReferenceExpression.cs
- RtfControlWordInfo.cs
- RegionData.cs
- Peer.cs
- DesignerLabelAdapter.cs
- OdbcError.cs
- XmlDocumentViewSchema.cs
- PolyBezierSegmentFigureLogic.cs
- NodeLabelEditEvent.cs
- ConfigurationSettings.cs
- WindowsListView.cs
- DataGridColumnCollection.cs
- Crc32Helper.cs
- StringUtil.cs
- ClientBase.cs
- StickyNote.cs
- ScrollProperties.cs
- FolderBrowserDialog.cs
- CultureTableRecord.cs
- QuotedPrintableStream.cs
- SQlBooleanStorage.cs
- HtmlWindow.cs
- LostFocusEventManager.cs
- VectorValueSerializer.cs
- Psha1DerivedKeyGenerator.cs
- DataViewSettingCollection.cs
- ImmutableCollection.cs
- RefExpr.cs
- ErrorRuntimeConfig.cs
- DesignOnlyAttribute.cs
- ServiceProviders.cs
- OutputCacheEntry.cs
- ListSourceHelper.cs
- SQlBooleanStorage.cs
- DynamicPropertyHolder.cs
- MappingItemCollection.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- SqlDataSourceQueryConverter.cs
- BrowserCapabilitiesCodeGenerator.cs
- XmlWriterSettings.cs
- SpinWait.cs
- ConnectionInterfaceCollection.cs
- PropertyCollection.cs
- XamlToRtfWriter.cs
- FindCriteriaCD1.cs
- LassoHelper.cs
- XmlCharType.cs
- UrlMappingCollection.cs
- OptimizedTemplateContentHelper.cs
- CharStorage.cs
- XmlAttributeHolder.cs
- BaseValidator.cs
- _UriTypeConverter.cs
- XmlWriter.cs
- TextEditorDragDrop.cs
- HashAlgorithm.cs
- RowToParametersTransformer.cs
- Range.cs
- WebServicesInteroperability.cs
- MethodCallTranslator.cs
- CopyNamespacesAction.cs
- TimeZone.cs
- LoadedOrUnloadedOperation.cs
- Quad.cs
- QilSortKey.cs
- EntityCommandCompilationException.cs
- DataGridViewCheckBoxColumn.cs
- ResourceDictionaryCollection.cs
- Brush.cs
- FixedSOMTextRun.cs
- MultiSelector.cs
- WrappedIUnknown.cs
- IsolatedStoragePermission.cs
- ExtendedProtectionPolicy.cs
- GuidTagList.cs
- SplineKeyFrames.cs
- TimeoutHelper.cs
- InputLanguage.cs
- CustomTypeDescriptor.cs
- LinqDataSourceValidationException.cs
- EntityKeyElement.cs