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
- SpotLight.cs
- AssociatedControlConverter.cs
- StyleXamlParser.cs
- glyphs.cs
- Wizard.cs
- ObjectStateManagerMetadata.cs
- SystemIcmpV6Statistics.cs
- CfgRule.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- XmlDataSourceNodeDescriptor.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- cryptoapiTransform.cs
- TaskSchedulerException.cs
- ElementHostAutomationPeer.cs
- Set.cs
- WindowsEditBoxRange.cs
- SqlInternalConnectionTds.cs
- ObjectItemCachedAssemblyLoader.cs
- SchemaElementLookUpTable.cs
- ManagementQuery.cs
- BrushConverter.cs
- RectangleConverter.cs
- QuadraticEase.cs
- OleServicesContext.cs
- httpstaticobjectscollection.cs
- VectorKeyFrameCollection.cs
- ListBindingHelper.cs
- SystemIcmpV4Statistics.cs
- HtmlInputButton.cs
- LocalizableResourceBuilder.cs
- ColumnCollection.cs
- MenuCommand.cs
- ControlPropertyNameConverter.cs
- DataGridBoolColumn.cs
- SocketInformation.cs
- SimpleHandlerBuildProvider.cs
- DataGridAutoFormatDialog.cs
- SmtpNegotiateAuthenticationModule.cs
- SyndicationElementExtension.cs
- AuthenticationModuleElement.cs
- ISSmlParser.cs
- AppSettingsExpressionBuilder.cs
- ArrangedElement.cs
- AutomationPropertyInfo.cs
- WindowsBrush.cs
- Compiler.cs
- ValidationErrorCollection.cs
- NullableIntSumAggregationOperator.cs
- PathSegment.cs
- MasterPageCodeDomTreeGenerator.cs
- CircleHotSpot.cs
- ItemChangedEventArgs.cs
- PerspectiveCamera.cs
- WebPartConnectionsCloseVerb.cs
- formatstringdialog.cs
- CounterCreationDataCollection.cs
- DataGridViewElement.cs
- XmlText.cs
- ExtensibleClassFactory.cs
- InkSerializer.cs
- PlatformNotSupportedException.cs
- SeparatorAutomationPeer.cs
- LineSegment.cs
- TemplateKeyConverter.cs
- SamlSubject.cs
- dsa.cs
- ComponentRenameEvent.cs
- FontSourceCollection.cs
- ContainerControl.cs
- TextHidden.cs
- DesignerCategoryAttribute.cs
- MarkedHighlightComponent.cs
- ViewValidator.cs
- PermissionSetEnumerator.cs
- SafeCoTaskMem.cs
- AuthStoreRoleProvider.cs
- WebPartEditorCancelVerb.cs
- ClientOptions.cs
- PathGradientBrush.cs
- Preprocessor.cs
- ExternalException.cs
- TouchesOverProperty.cs
- DbConvert.cs
- SQLChars.cs
- InputBuffer.cs
- ProgressBarAutomationPeer.cs
- EventMappingSettingsCollection.cs
- CuspData.cs
- CurrentTimeZone.cs
- Selector.cs
- CompilationUnit.cs
- TextServicesCompartmentEventSink.cs
- TrackingParameters.cs
- CustomValidator.cs
- datacache.cs
- DeleteIndexBinder.cs
- PriorityQueue.cs
- BuildProviderAppliesToAttribute.cs
- InternalRelationshipCollection.cs
- UntrustedRecipientException.cs