Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- ToolStripManager.cs
- WebDisplayNameAttribute.cs
- SmtpAuthenticationManager.cs
- CodeEventReferenceExpression.cs
- CheckBox.cs
- DateTimeConverter.cs
- CompilerTypeWithParams.cs
- StringAnimationBase.cs
- ExpressionLink.cs
- SqlConnection.cs
- DeflateStream.cs
- WindowsToolbarAsMenu.cs
- ClientScriptManager.cs
- Match.cs
- IndexOutOfRangeException.cs
- DigitalSignature.cs
- XmlDataSourceNodeDescriptor.cs
- ConnectionAcceptor.cs
- LoginCancelEventArgs.cs
- PathData.cs
- ElementHost.cs
- TreeNodeCollection.cs
- WebRequest.cs
- FormParameter.cs
- GridViewRowPresenter.cs
- DataGridViewControlCollection.cs
- FacetChecker.cs
- MimeParameterWriter.cs
- TextContainer.cs
- OdbcEnvironmentHandle.cs
- ItemCheckedEvent.cs
- SuppressIldasmAttribute.cs
- EventLogInternal.cs
- DateRangeEvent.cs
- BindingListCollectionView.cs
- ObjectDataSourceStatusEventArgs.cs
- DataViewListener.cs
- WebBrowserProgressChangedEventHandler.cs
- handlecollector.cs
- IInstanceContextProvider.cs
- EasingFunctionBase.cs
- SiteMapNodeCollection.cs
- TypeContext.cs
- RepeaterDesigner.cs
- GridViewUpdateEventArgs.cs
- AnnotationResourceChangedEventArgs.cs
- PlatformNotSupportedException.cs
- HealthMonitoringSection.cs
- ReversePositionQuery.cs
- SqlCacheDependencySection.cs
- ComponentDesigner.cs
- StrokeFIndices.cs
- ProtectedConfiguration.cs
- InfoCardClaimCollection.cs
- metadatamappinghashervisitor.cs
- CapabilitiesSection.cs
- QueueException.cs
- NetworkInformationPermission.cs
- ConfigurationManagerInternal.cs
- PseudoWebRequest.cs
- MaskInputRejectedEventArgs.cs
- DataColumnCollection.cs
- SoapElementAttribute.cs
- KnownBoxes.cs
- AdapterDictionary.cs
- DefaultPropertyAttribute.cs
- CryptoProvider.cs
- SerializationInfoEnumerator.cs
- UrlAuthFailedErrorFormatter.cs
- safex509handles.cs
- Grid.cs
- OperationContractGenerationContext.cs
- ClientApiGenerator.cs
- ListViewItem.cs
- InstanceNotReadyException.cs
- DispatcherOperation.cs
- TextSpan.cs
- BitmapEffect.cs
- CompositionTarget.cs
- ArgumentOutOfRangeException.cs
- PathFigure.cs
- sqlstateclientmanager.cs
- MenuStrip.cs
- URLAttribute.cs
- HelpProvider.cs
- UserPreferenceChangedEventArgs.cs
- ImageIndexConverter.cs
- ConnectionManagementSection.cs
- Single.cs
- Validator.cs
- XmlSchemaCompilationSettings.cs
- SlipBehavior.cs
- Hex.cs
- QueryAccessibilityHelpEvent.cs
- PropertyMetadata.cs
- PageRequestManager.cs
- BooleanKeyFrameCollection.cs
- TailCallAnalyzer.cs
- SoapIncludeAttribute.cs
- EventArgs.cs