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
- CodeAssignStatement.cs
- ControlCollection.cs
- ContainsRowNumberChecker.cs
- AuthenticateEventArgs.cs
- ReflectionHelper.cs
- ParagraphResult.cs
- RelationshipConverter.cs
- Int16Storage.cs
- LiteralText.cs
- PropertyConverter.cs
- ClientTarget.cs
- CollectionViewSource.cs
- PriorityChain.cs
- AttributeSetAction.cs
- ButtonChrome.cs
- PageCatalogPart.cs
- KeyEvent.cs
- CodeNamespaceImport.cs
- VirtualizingPanel.cs
- SamlSerializer.cs
- CodeThrowExceptionStatement.cs
- HttpProfileGroupBase.cs
- BuildResult.cs
- LocationUpdates.cs
- PlainXmlSerializer.cs
- SafeSecurityHandles.cs
- StrongNameIdentityPermission.cs
- FrameworkElement.cs
- WebPartCatalogCloseVerb.cs
- SqlCommandBuilder.cs
- DataShape.cs
- TabItem.cs
- ResourceProperty.cs
- ProfileGroupSettingsCollection.cs
- ForceCopyBuildProvider.cs
- DiscoveryDefaults.cs
- Compilation.cs
- AffineTransform3D.cs
- WebPartConnectVerb.cs
- BaseTemplateCodeDomTreeGenerator.cs
- RuntimeUtils.cs
- AutomationPropertyInfo.cs
- EventMappingSettings.cs
- TimeStampChecker.cs
- DateTimePicker.cs
- CmsInterop.cs
- UnionExpr.cs
- EncryptedPackageFilter.cs
- EntityDataSourceWrapper.cs
- IListConverters.cs
- MailDefinition.cs
- XmlNodeChangedEventManager.cs
- Encoder.cs
- NotSupportedException.cs
- ColorConverter.cs
- HMACMD5.cs
- OleServicesContext.cs
- NavigationHelper.cs
- IdentityReference.cs
- NativeWrapper.cs
- ObjectIDGenerator.cs
- _NegoState.cs
- XmlDownloadManager.cs
- DataServiceQueryOfT.cs
- SelectionItemProviderWrapper.cs
- MultiView.cs
- DataPointer.cs
- StorageComplexPropertyMapping.cs
- DesignerObject.cs
- RevocationPoint.cs
- BrowserCapabilitiesCodeGenerator.cs
- SecurityManager.cs
- ComponentConverter.cs
- FlowDocumentFormatter.cs
- DataService.cs
- DbMetaDataCollectionNames.cs
- CounterCreationDataCollection.cs
- BinarySerializer.cs
- CodeArrayCreateExpression.cs
- SerialStream.cs
- ConnectionManagementElementCollection.cs
- FacetDescriptionElement.cs
- ControlCachePolicy.cs
- ClickablePoint.cs
- XmlSerializerFactory.cs
- DatePickerTextBox.cs
- FileDialogPermission.cs
- CompositeTypefaceMetrics.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- OledbConnectionStringbuilder.cs
- PrintDialogException.cs
- HttpListenerResponse.cs
- SR.Designer.cs
- BooleanToVisibilityConverter.cs
- DbConnectionInternal.cs
- ByteConverter.cs
- WebZone.cs
- DataServiceExpressionVisitor.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- MSAAEventDispatcher.cs