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
- ToolStripScrollButton.cs
- DragEventArgs.cs
- PathFigure.cs
- ArrayWithOffset.cs
- Attributes.cs
- ComponentDispatcherThread.cs
- SocketElement.cs
- SystemIcmpV6Statistics.cs
- AsynchronousChannel.cs
- VisualCollection.cs
- SqlReorderer.cs
- BinaryVersion.cs
- SerializationSectionGroup.cs
- VSDExceptions.cs
- remotingproxy.cs
- LinkLabel.cs
- SchemaConstraints.cs
- ScalarType.cs
- NodeLabelEditEvent.cs
- XmlObjectSerializerReadContextComplexJson.cs
- SortKey.cs
- ThemeableAttribute.cs
- ItemContainerGenerator.cs
- ExceptionRoutedEventArgs.cs
- GPPOINT.cs
- PreviewPageInfo.cs
- TraceXPathNavigator.cs
- HttpProtocolImporter.cs
- X509InitiatorCertificateServiceElement.cs
- ClientApiGenerator.cs
- NavigationPropertySingletonExpression.cs
- CacheOutputQuery.cs
- SpeechSeg.cs
- XmlSecureResolver.cs
- FactoryGenerator.cs
- FontUnitConverter.cs
- TdsParserSessionPool.cs
- EventMap.cs
- ReplacementText.cs
- CompositionTarget.cs
- VerificationException.cs
- SafeReadContext.cs
- InvokePattern.cs
- PinnedBufferMemoryStream.cs
- HybridObjectCache.cs
- TextDecoration.cs
- TransformerConfigurationWizardBase.cs
- InputProcessorProfilesLoader.cs
- PasswordRecovery.cs
- MessageBodyMemberAttribute.cs
- ColorTypeConverter.cs
- TextUtf8RawTextWriter.cs
- PlanCompiler.cs
- DbParameterHelper.cs
- AutoScrollHelper.cs
- ResourceExpressionBuilder.cs
- COM2PropertyDescriptor.cs
- DbXmlEnabledProviderManifest.cs
- StyleCollection.cs
- WorkflowRuntimeServicesBehavior.cs
- TextRangeEdit.cs
- DoubleIndependentAnimationStorage.cs
- SchemaManager.cs
- ReadOnlyHierarchicalDataSourceView.cs
- NCryptSafeHandles.cs
- BuildResult.cs
- ObjectConverter.cs
- ExpressionBinding.cs
- RoleGroup.cs
- Rfc2898DeriveBytes.cs
- ColumnHeaderConverter.cs
- XmlQueryTypeFactory.cs
- SecurityTokenTypes.cs
- IndexedString.cs
- UshortList2.cs
- FontResourceCache.cs
- DeploymentExceptionMapper.cs
- FreeFormDesigner.cs
- RoleManagerModule.cs
- DesignerTransactionCloseEvent.cs
- BamlBinaryWriter.cs
- Baml2006ReaderSettings.cs
- ComponentResourceKeyConverter.cs
- MenuItemStyleCollection.cs
- TransactionChannel.cs
- Cursors.cs
- TypeResolvingOptions.cs
- SHA256Managed.cs
- Deserializer.cs
- InkCanvasFeedbackAdorner.cs
- FaultContractInfo.cs
- DoWhile.cs
- SecurityCredentialsManager.cs
- TimersDescriptionAttribute.cs
- VirtualPathProvider.cs
- DeclaredTypeElement.cs
- LookupBindingPropertiesAttribute.cs
- EmbeddedMailObject.cs
- AvtEvent.cs
- Positioning.cs