Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / Primitives / LayoutInformation.cs / 1305600 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StringKeyFrameCollection.cs
- CodeAttributeDeclarationCollection.cs
- SocketStream.cs
- ProbeDuplex11AsyncResult.cs
- OdbcConnectionHandle.cs
- ComponentChangingEvent.cs
- ComponentConverter.cs
- BitmapEditor.cs
- RectangleGeometry.cs
- CharConverter.cs
- SoapSchemaImporter.cs
- StartFileNameEditor.cs
- PolyLineSegment.cs
- SQLCharsStorage.cs
- AutomationFocusChangedEventArgs.cs
- PeerUnsafeNativeMethods.cs
- DataTableExtensions.cs
- OdbcEnvironmentHandle.cs
- TextHidden.cs
- Attributes.cs
- ClockController.cs
- ObservableCollectionDefaultValueFactory.cs
- MonthCalendar.cs
- EdmError.cs
- LambdaCompiler.Generated.cs
- AmbiguousMatchException.cs
- WebBodyFormatMessageProperty.cs
- SoundPlayer.cs
- EntityReference.cs
- DynamicValidatorEventArgs.cs
- LinearGradientBrush.cs
- SelectionEditingBehavior.cs
- BlockExpression.cs
- IdentityManager.cs
- NamedPipeAppDomainProtocolHandler.cs
- Brush.cs
- BindStream.cs
- SplayTreeNode.cs
- ColorBuilder.cs
- MobileErrorInfo.cs
- ContractInstanceProvider.cs
- SiteOfOriginContainer.cs
- DataSourceGroupCollection.cs
- OleDbParameter.cs
- ComponentResourceManager.cs
- QueryActivatableWorkflowsCommand.cs
- InputBindingCollection.cs
- RootBuilder.cs
- DataView.cs
- PeerCredential.cs
- ConnectionManagementSection.cs
- GridPatternIdentifiers.cs
- HMACRIPEMD160.cs
- DataSourceView.cs
- MatrixIndependentAnimationStorage.cs
- UnsafeNativeMethods.cs
- PKCS1MaskGenerationMethod.cs
- FileDialogCustomPlace.cs
- SmiEventSink.cs
- TextRunCacheImp.cs
- CreationContext.cs
- StringSource.cs
- DbProviderManifest.cs
- PrivilegeNotHeldException.cs
- SecurityTokenValidationException.cs
- IsolatedStorageFilePermission.cs
- HideDisabledControlAdapter.cs
- Thumb.cs
- PathFigure.cs
- NavigationWindow.cs
- CharAnimationBase.cs
- HandlerMappingMemo.cs
- StagingAreaInputItem.cs
- DefaultValueAttribute.cs
- DetailsViewModeEventArgs.cs
- InfoCardX509Validator.cs
- WebPartEditVerb.cs
- AutoResizedEvent.cs
- TokenizerHelper.cs
- CDSCollectionETWBCLProvider.cs
- PerformanceCountersElement.cs
- SystemInfo.cs
- RestHandlerFactory.cs
- CollectionViewGroupInternal.cs
- DiagnosticStrings.cs
- ApplyTemplatesAction.cs
- FixedPageProcessor.cs
- NTAccount.cs
- AutomationElementCollection.cs
- XslException.cs
- HeaderedContentControl.cs
- WorkflowRuntimeService.cs
- TransformGroup.cs
- EntityDataSourceUtil.cs
- DebugView.cs
- DesignerOptionService.cs
- WebSysDisplayNameAttribute.cs
- CompletedAsyncResult.cs
- SeverityFilter.cs
- ListCollectionView.cs