Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / SizeChangedInfo.cs / 1 / SizeChangedInfo.cs
using System; namespace System.Windows { ////// The SizeChangedinfo class is used as a parameter to OnSizeRenderChanged. /// public class SizeChangedInfo { ////// Initializes a new instance of the SizeChangedinfo class. /// /// /// The element which size is changing. /// /// /// The size of the object before update. New size is element.RenderSize /// /// /// The flag indicating that width component of the size changed. Note that due to double math /// effects, the it may be (previousSize.Width != newSize.Width) and widthChanged = true. /// This may happen in layout when sizes of objects are fluctuating because of a precision "jitter" of /// the input parameters, but the overall scene is considered to be "the same" so no visible changes /// will be detected. Typically, the handler of SizeChangedEvent should check this bit to avoid /// invalidation of layout if the dimension didn't change. /// /// /// The flag indicating that height component of the size changed. Note that due to double math /// effects, the it may be (previousSize.Height != newSize.Height) and heightChanged = true. /// This may happen in layout when sizes of objects are fluctuating because of a precision "jitter" of /// the input parameters, but the overall scene is considered to be "the same" so no visible changes /// will be detected. Typically, the handler of SizeChangedEvent should check this bit to avoid /// invalidation of layout if the dimension didn't change. /// public SizeChangedInfo(UIElement element, Size previousSize, bool widthChanged, bool heightChanged) { _element = element; _previousSize = previousSize; _widthChanged = widthChanged; _heightChanged = heightChanged; } ////// Read-only access to the previous Size /// public Size PreviousSize { get { return _previousSize; } } ////// Read-only access to the new Size /// public Size NewSize { get { return _element.RenderSize; } } ////// Read-only access to the flag indicating that Width component of the size changed. /// Note that due to double math /// effects, the it may be (previousSize.Width != newSize.Width) and widthChanged = true. /// This may happen in layout when sizes of objects are fluctuating because of a precision "jitter" of /// the input parameters, but the overall scene is considered to be "the same" so no visible changes /// will be detected. Typically, the handler of SizeChangedEvent should check this bit to avoid /// invalidation of layout if the dimension didn't change. /// public bool WidthChanged { get { return _widthChanged; } } ////// Read-only access to the flag indicating that Height component of the size changed. /// Note that due to double math /// effects, the it may be (previousSize.Height != newSize.Height) and heightChanged = true. /// This may happen in layout when sizes of objects are fluctuating because of a precision "jitter" of /// the input parameters, but the overall scene is considered to be "the same" so no visible changes /// will be detected. Typically, the handler of SizeChangedEvent should check this bit to avoid /// invalidation of layout if the dimension didn't change. /// public bool HeightChanged { get { return _heightChanged; } } //this method is used by UIElement to "accumulate" several cosequitive layout updates //into the single args object cahced on UIElement. Since the SizeChanged is deferred event, //there could be several size changes before it will actually fire. internal void Update(bool widthChanged, bool heightChanged) { _widthChanged = _widthChanged | widthChanged; _heightChanged = _heightChanged | heightChanged; } internal UIElement Element { get { return _element; } } private UIElement _element; private Size _previousSize; private bool _widthChanged; private bool _heightChanged; internal SizeChangedInfo Next; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; namespace System.Windows { ////// The SizeChangedinfo class is used as a parameter to OnSizeRenderChanged. /// public class SizeChangedInfo { ////// Initializes a new instance of the SizeChangedinfo class. /// /// /// The element which size is changing. /// /// /// The size of the object before update. New size is element.RenderSize /// /// /// The flag indicating that width component of the size changed. Note that due to double math /// effects, the it may be (previousSize.Width != newSize.Width) and widthChanged = true. /// This may happen in layout when sizes of objects are fluctuating because of a precision "jitter" of /// the input parameters, but the overall scene is considered to be "the same" so no visible changes /// will be detected. Typically, the handler of SizeChangedEvent should check this bit to avoid /// invalidation of layout if the dimension didn't change. /// /// /// The flag indicating that height component of the size changed. Note that due to double math /// effects, the it may be (previousSize.Height != newSize.Height) and heightChanged = true. /// This may happen in layout when sizes of objects are fluctuating because of a precision "jitter" of /// the input parameters, but the overall scene is considered to be "the same" so no visible changes /// will be detected. Typically, the handler of SizeChangedEvent should check this bit to avoid /// invalidation of layout if the dimension didn't change. /// public SizeChangedInfo(UIElement element, Size previousSize, bool widthChanged, bool heightChanged) { _element = element; _previousSize = previousSize; _widthChanged = widthChanged; _heightChanged = heightChanged; } ////// Read-only access to the previous Size /// public Size PreviousSize { get { return _previousSize; } } ////// Read-only access to the new Size /// public Size NewSize { get { return _element.RenderSize; } } ////// Read-only access to the flag indicating that Width component of the size changed. /// Note that due to double math /// effects, the it may be (previousSize.Width != newSize.Width) and widthChanged = true. /// This may happen in layout when sizes of objects are fluctuating because of a precision "jitter" of /// the input parameters, but the overall scene is considered to be "the same" so no visible changes /// will be detected. Typically, the handler of SizeChangedEvent should check this bit to avoid /// invalidation of layout if the dimension didn't change. /// public bool WidthChanged { get { return _widthChanged; } } ////// Read-only access to the flag indicating that Height component of the size changed. /// Note that due to double math /// effects, the it may be (previousSize.Height != newSize.Height) and heightChanged = true. /// This may happen in layout when sizes of objects are fluctuating because of a precision "jitter" of /// the input parameters, but the overall scene is considered to be "the same" so no visible changes /// will be detected. Typically, the handler of SizeChangedEvent should check this bit to avoid /// invalidation of layout if the dimension didn't change. /// public bool HeightChanged { get { return _heightChanged; } } //this method is used by UIElement to "accumulate" several cosequitive layout updates //into the single args object cahced on UIElement. Since the SizeChanged is deferred event, //there could be several size changes before it will actually fire. internal void Update(bool widthChanged, bool heightChanged) { _widthChanged = _widthChanged | widthChanged; _heightChanged = _heightChanged | heightChanged; } internal UIElement Element { get { return _element; } } private UIElement _element; private Size _previousSize; private bool _widthChanged; private bool _heightChanged; internal SizeChangedInfo Next; } } // 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
- TemplateBindingExtensionConverter.cs
- XslTransform.cs
- LinkButton.cs
- UpDownEvent.cs
- PixelShader.cs
- TableLayoutSettingsTypeConverter.cs
- webeventbuffer.cs
- XmlWriter.cs
- FixedTextView.cs
- StyleCollection.cs
- NonBatchDirectoryCompiler.cs
- Privilege.cs
- EncoderParameters.cs
- SystemUnicastIPAddressInformation.cs
- CodeDelegateInvokeExpression.cs
- DateTimePicker.cs
- CharacterBuffer.cs
- LeafCellTreeNode.cs
- DiscoveryServerProtocol.cs
- TextureBrush.cs
- Scheduling.cs
- PeerNameRegistration.cs
- ExpressionBindingCollection.cs
- DesignColumn.cs
- FlowSwitch.cs
- PopupControlService.cs
- SoapSchemaImporter.cs
- WmpBitmapEncoder.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- UniqueConstraint.cs
- DebuggerAttributes.cs
- UnsafeNativeMethods.cs
- ISessionStateStore.cs
- MemoryMappedView.cs
- ResXDataNode.cs
- EmissiveMaterial.cs
- XmlDataFileEditor.cs
- ValidatingPropertiesEventArgs.cs
- DataServiceExpressionVisitor.cs
- SubpageParagraph.cs
- LineBreak.cs
- RawMouseInputReport.cs
- PermissionSet.cs
- PositiveTimeSpanValidator.cs
- FontStretches.cs
- BookmarkNameHelper.cs
- FontStretches.cs
- EventHandlerList.cs
- SoapAttributeOverrides.cs
- sqlnorm.cs
- StringUtil.cs
- RtfFormatStack.cs
- XmlDeclaration.cs
- ScriptingProfileServiceSection.cs
- EntityContainerRelationshipSet.cs
- TextSelectionHelper.cs
- CookieParameter.cs
- AuthenticationException.cs
- Brush.cs
- ToolStripItemImageRenderEventArgs.cs
- GridViewSelectEventArgs.cs
- AppDomainUnloadedException.cs
- IntegrationExceptionEventArgs.cs
- DataQuery.cs
- StatusBarDrawItemEvent.cs
- DiagnosticTrace.cs
- ComponentSerializationService.cs
- List.cs
- CodeArrayIndexerExpression.cs
- WindowsSecurityTokenAuthenticator.cs
- ContainerUIElement3D.cs
- IIS7UserPrincipal.cs
- TemplateField.cs
- ArithmeticException.cs
- ZoneMembershipCondition.cs
- XmlIlTypeHelper.cs
- BamlLocalizableResourceKey.cs
- ControlPropertyNameConverter.cs
- WindowsImpersonationContext.cs
- RowToFieldTransformer.cs
- WebServiceEndpoint.cs
- XmlQueryContext.cs
- ConnectionsZone.cs
- MetadataCollection.cs
- ObjectConverter.cs
- HwndHost.cs
- MaterialCollection.cs
- HuffModule.cs
- HttpClientCertificate.cs
- EdgeProfileValidation.cs
- CompilationUtil.cs
- Column.cs
- LayoutEditorPart.cs
- EmptyEnumerable.cs
- ScrollChangedEventArgs.cs
- RemoteWebConfigurationHost.cs
- DateTimeFormatInfoScanner.cs
- HttpCachePolicyElement.cs
- CqlLexerHelpers.cs
- BaseComponentEditor.cs