Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / Floater.cs / 1305600 / Floater.cs
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// Description: Floater element.
//
//---------------------------------------------------------------------------
using System.ComponentModel;
using MS.Internal;
using MS.Internal.PtsHost.UnsafeNativeMethods; // PTS restrictions
namespace System.Windows.Documents
{
///
/// Floater element
///
public class Floater : AnchoredBlock
{
//-------------------------------------------------------------------
//
// Constructors
//
//-------------------------------------------------------------------
#region Constructors
///
/// Static ctor. Initializes property metadata.
///
static Floater()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(Floater), new FrameworkPropertyMetadata(typeof(Floater)));
}
///
/// Initialized the new instance of a Floater
///
public Floater() : this(null, null)
{
}
///
/// Initialized the new instance of a Floater specifying a Block added
/// to a Floater as its first child.
///
///
/// Block added as a first initial child of the Floater.
///
public Floater(Block childBlock) : this(childBlock, null)
{
}
///
/// Creates a new Floater instance.
///
///
/// Optional child of the new Floater, may be null.
///
///
/// Optional position at which to insert the new Floater. May
/// be null.
///
public Floater(Block childBlock, TextPointer insertionPosition) : base(childBlock, insertionPosition)
{
}
#endregion Constructors
//--------------------------------------------------------------------
//
// Public Properties
//
//-------------------------------------------------------------------
#region Public Properties
///
/// DependencyProperty for property.
///
public static readonly DependencyProperty HorizontalAlignmentProperty =
FrameworkElement.HorizontalAlignmentProperty.AddOwner(
typeof(Floater),
new FrameworkPropertyMetadata(
HorizontalAlignment.Stretch,
FrameworkPropertyMetadataOptions.AffectsMeasure));
///
///
///
public HorizontalAlignment HorizontalAlignment
{
get { return (HorizontalAlignment)GetValue(HorizontalAlignmentProperty); }
set { SetValue(HorizontalAlignmentProperty, value); }
}
///
/// DependencyProperty for property.
///
public static readonly DependencyProperty WidthProperty =
DependencyProperty.Register(
"Width",
typeof(double),
typeof(Floater),
new FrameworkPropertyMetadata(
Double.NaN,
FrameworkPropertyMetadataOptions.AffectsMeasure),
new ValidateValueCallback(IsValidWidth));
///
/// The Width property specifies the width of the element.
///
[TypeConverter(typeof(LengthConverter))]
public double Width
{
get { return (double)GetValue(WidthProperty); }
set { SetValue(WidthProperty, value); }
}
#endregion Public Properties
//--------------------------------------------------------------------
//
// Private Methods
//
//--------------------------------------------------------------------
#region Private Methods
private static bool IsValidWidth(object o)
{
double width = (double)o;
double maxWidth = Math.Min(1000000, PTS.MaxPageSize);
if (Double.IsNaN(width))
{
// Default value of width is NaN
return true;
}
if (width < 0 || width > maxWidth)
{
return false;
}
return true;
}
#endregion Private Methods
}
}
// 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
- NameGenerator.cs
- OleDbPermission.cs
- GAC.cs
- MediaCommands.cs
- SerializationObjectManager.cs
- OptimizedTemplateContent.cs
- XmlnsPrefixAttribute.cs
- OleDbError.cs
- CalendarTable.cs
- Bezier.cs
- HtmlForm.cs
- LocalizableAttribute.cs
- RuntimeResourceSet.cs
- WindowsEditBox.cs
- DataReaderContainer.cs
- ObjectDisposedException.cs
- WebSysDescriptionAttribute.cs
- PeerOutputChannel.cs
- FrameworkRichTextComposition.cs
- HandlerFactoryCache.cs
- WinOEToolBoxItem.cs
- ObjectList.cs
- SecurityCredentialsManager.cs
- InputReportEventArgs.cs
- AsyncOperationContext.cs
- ValidatorCompatibilityHelper.cs
- MruCache.cs
- DbConnectionPoolIdentity.cs
- PeerApplication.cs
- BitmapEffectGeneralTransform.cs
- DesignSurfaceServiceContainer.cs
- Repeater.cs
- ListControl.cs
- InfoCardClaim.cs
- CombinedGeometry.cs
- HtmlInputReset.cs
- EntityWithChangeTrackerStrategy.cs
- RijndaelManagedTransform.cs
- ListItem.cs
- COM2ComponentEditor.cs
- DirectionalLight.cs
- MouseGesture.cs
- ExtensibleClassFactory.cs
- HttpContext.cs
- BindingManagerDataErrorEventArgs.cs
- EntityDataSourceReferenceGroup.cs
- RepeatBehaviorConverter.cs
- ImagingCache.cs
- UniqueConstraint.cs
- DataGridViewDataErrorEventArgs.cs
- DecimalAverageAggregationOperator.cs
- TableSectionStyle.cs
- DocumentViewerBaseAutomationPeer.cs
- JavaScriptObjectDeserializer.cs
- VariantWrapper.cs
- Parameter.cs
- messageonlyhwndwrapper.cs
- SamlAuthenticationClaimResource.cs
- ResourcePermissionBaseEntry.cs
- ParallelTimeline.cs
- SegmentInfo.cs
- Message.cs
- Image.cs
- ListMarkerLine.cs
- AQNBuilder.cs
- ChildTable.cs
- ColorContextHelper.cs
- ProxyFragment.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- XhtmlTextWriter.cs
- CharacterMetricsDictionary.cs
- DelegatingHeader.cs
- TargetConverter.cs
- VectorValueSerializer.cs
- AnalyzedTree.cs
- DBAsyncResult.cs
- BooleanAnimationUsingKeyFrames.cs
- DesignDataSource.cs
- CodeDomSerializationProvider.cs
- SimpleHandlerBuildProvider.cs
- HtmlButton.cs
- IntPtr.cs
- SystemException.cs
- Command.cs
- ThreadAttributes.cs
- InstanceCreationEditor.cs
- SRDisplayNameAttribute.cs
- ObjectSet.cs
- PrimitiveXmlSerializers.cs
- RenamedEventArgs.cs
- ComponentSerializationService.cs
- EndOfStreamException.cs
- NamespaceCollection.cs
- TypeDescriptor.cs
- StringArrayConverter.cs
- BamlStream.cs
- CryptoProvider.cs
- graph.cs
- figurelength.cs
- SqlSupersetValidator.cs