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
- SchemaEntity.cs
- AutomationElementCollection.cs
- ComponentConverter.cs
- PathGradientBrush.cs
- DataControlPagerLinkButton.cs
- ParserHooks.cs
- ProfileGroupSettingsCollection.cs
- PanningMessageFilter.cs
- SpecularMaterial.cs
- CodeCommentStatement.cs
- XmlNamedNodeMap.cs
- DataBoundControlAdapter.cs
- WebBrowsableAttribute.cs
- CounterCreationData.cs
- XmlSchemaAnnotated.cs
- GridErrorDlg.cs
- ForceCopyBuildProvider.cs
- RepeaterItem.cs
- AuthenticationSection.cs
- TextServicesContext.cs
- ManagedFilter.cs
- ComponentCollection.cs
- CompiledRegexRunner.cs
- indexingfiltermarshaler.cs
- ProtectedProviderSettings.cs
- ActivityCodeDomSerializationManager.cs
- InternalsVisibleToAttribute.cs
- FragmentQueryProcessor.cs
- counter.cs
- BitmapEffectOutputConnector.cs
- LambdaCompiler.Address.cs
- mediapermission.cs
- WindowsSlider.cs
- FrameworkContentElement.cs
- ProcessModelSection.cs
- BamlTreeUpdater.cs
- RectangleHotSpot.cs
- TabItemWrapperAutomationPeer.cs
- DTCTransactionManager.cs
- ContentType.cs
- SQLInt16.cs
- AutomationPatternInfo.cs
- HebrewNumber.cs
- HashHelper.cs
- FragmentNavigationEventArgs.cs
- ContainerUtilities.cs
- SslStream.cs
- FrameworkElement.cs
- SqlWebEventProvider.cs
- Interlocked.cs
- QualificationDataItem.cs
- TextStore.cs
- Rights.cs
- BadImageFormatException.cs
- EventLogHandle.cs
- DocumentOutline.cs
- KeyValuePair.cs
- SmiTypedGetterSetter.cs
- RuleSettingsCollection.cs
- PlanCompilerUtil.cs
- DataControlPagerLinkButton.cs
- Accessors.cs
- Material.cs
- PriorityChain.cs
- ExtensionFile.cs
- ResizeBehavior.cs
- TableRowGroupCollection.cs
- InternalConfigSettingsFactory.cs
- ListViewAutomationPeer.cs
- ApplicationSecurityManager.cs
- XPathNodeList.cs
- SafeHGlobalHandleCritical.cs
- DictionaryEditChange.cs
- CreateUserWizard.cs
- RectangleConverter.cs
- MessageBox.cs
- SqlAliaser.cs
- CalendarAutomationPeer.cs
- ProtocolsConfiguration.cs
- ListControl.cs
- SqlConnectionManager.cs
- SafeHandles.cs
- Logging.cs
- XmlAnyElementAttributes.cs
- SqlStream.cs
- ValidationEventArgs.cs
- AvTraceDetails.cs
- ConstraintConverter.cs
- TableAdapterManagerGenerator.cs
- DiscoveryInnerClientManaged11.cs
- FontStretches.cs
- AttachedProperty.cs
- SqlMultiplexer.cs
- MarginCollapsingState.cs
- Int16KeyFrameCollection.cs
- ComAwareEventInfo.cs
- WindowsToolbarItemAsMenuItem.cs
- UpdateCommandGenerator.cs
- ResetableIterator.cs
- XmlDataDocument.cs