Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / SizeChangedInfo.cs / 1305600 / 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
- SolidColorBrush.cs
- CoreChannel.cs
- UndoEngine.cs
- EllipseGeometry.cs
- FilteredDataSetHelper.cs
- ByteAnimationUsingKeyFrames.cs
- WorkflowFileItem.cs
- DockPatternIdentifiers.cs
- WorkflowInvoker.cs
- CodeObjectCreateExpression.cs
- FloaterParaClient.cs
- SingleAnimationUsingKeyFrames.cs
- RectIndependentAnimationStorage.cs
- TableAdapterManagerMethodGenerator.cs
- ListCommandEventArgs.cs
- IArgumentProvider.cs
- HierarchicalDataSourceConverter.cs
- StopStoryboard.cs
- ConfigurationStrings.cs
- HttpPostedFile.cs
- _LocalDataStoreMgr.cs
- _AuthenticationState.cs
- CompositeControl.cs
- ListSortDescriptionCollection.cs
- ClientConfigPaths.cs
- Expressions.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- EventHandlerList.cs
- HitTestDrawingContextWalker.cs
- KeyNotFoundException.cs
- ClientBuildManager.cs
- LinqDataSourceContextData.cs
- FieldNameLookup.cs
- SqlConnectionHelper.cs
- CroppedBitmap.cs
- TimeSpan.cs
- BaseParagraph.cs
- SafeRightsManagementSessionHandle.cs
- Bidi.cs
- PathFigureCollection.cs
- StickyNoteHelper.cs
- KeyFrames.cs
- DPAPIProtectedConfigurationProvider.cs
- MailHeaderInfo.cs
- CharAnimationBase.cs
- AttributeEmitter.cs
- TabControlEvent.cs
- CheckBoxStandardAdapter.cs
- ImageDesigner.cs
- RtfFormatStack.cs
- _ProxyChain.cs
- DbConnectionPoolCounters.cs
- ActivityBindForm.cs
- PointCollection.cs
- BaseConfigurationRecord.cs
- IDispatchConstantAttribute.cs
- Thickness.cs
- CodeExporter.cs
- ReflectionUtil.cs
- AuthenticationService.cs
- WindowsStatic.cs
- TypeSource.cs
- HttpChannelBindingToken.cs
- Helper.cs
- SystemIPv6InterfaceProperties.cs
- columnmapkeybuilder.cs
- CustomSignedXml.cs
- ComplexObject.cs
- SevenBitStream.cs
- SourceElementsCollection.cs
- SerialReceived.cs
- CodeMethodReturnStatement.cs
- DataGridViewCellCancelEventArgs.cs
- EdgeModeValidation.cs
- BitSet.cs
- UndoUnit.cs
- DesignerAttributeInfo.cs
- ThrowHelper.cs
- CollectionMarkupSerializer.cs
- TabRenderer.cs
- ManagementObjectCollection.cs
- UnknownWrapper.cs
- WmlLabelAdapter.cs
- StringHandle.cs
- AssociationEndMember.cs
- RootProfilePropertySettingsCollection.cs
- ControlDesignerState.cs
- TimelineGroup.cs
- Single.cs
- BufferedResponseStream.cs
- StagingAreaInputItem.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- EntityCollection.cs
- ReservationNotFoundException.cs
- ConfigXmlComment.cs
- ContentFilePart.cs
- ServiceContractDetailViewControl.cs
- Operand.cs
- HostingEnvironment.cs
- FontStyleConverter.cs