Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Shapes / Line.cs / 1 / Line.cs
//---------------------------------------------------------------------------- // File: Line.cs // // Description: // Implementation of Line shape element. // // History: // 05/30/02 - [....] - Created. // // Copyright (C) 2003 by Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System.Windows.Shapes; using System.Diagnostics; using System.Windows.Threading; using System.Windows; using System.Windows.Media; using System.ComponentModel; using MS.Internal; using System; namespace System.Windows.Shapes { ////// The line shape element /// This element (like all shapes) belongs under a Canvas, /// and will be presented by the parent canvas. /// public sealed class Line : Shape { #region Constructors ////// Instantiates a new instance of a line. /// public Line() { } #endregion Constructors #region Dynamic Properties ////// X1 property /// public static readonly DependencyProperty X1Property = DependencyProperty.Register( "X1", typeof(double), typeof(Line), new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender), new ValidateValueCallback(Shape.IsDoubleFinite)); ////// X1 property /// [TypeConverter(typeof(LengthConverter))] public double X1 { get { return (double)GetValue(X1Property); } set { SetValue(X1Property, value); } } ////// Y1 property /// public static readonly DependencyProperty Y1Property = DependencyProperty.Register( "Y1", typeof(double), typeof(Line), new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender), new ValidateValueCallback(Shape.IsDoubleFinite)); ////// Y1 property /// [TypeConverter(typeof(LengthConverter))] public double Y1 { get { return (double)GetValue(Y1Property); } set { SetValue(Y1Property, value); } } ////// X2 property /// public static readonly DependencyProperty X2Property = DependencyProperty.Register( "X2", typeof(double), typeof(Line), new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender), new ValidateValueCallback(Shape.IsDoubleFinite)); ////// X2 property /// [TypeConverter(typeof(LengthConverter))] public double X2 { get { return (double)GetValue(X2Property); } set { SetValue(X2Property, value); } } ////// Y2 property /// public static readonly DependencyProperty Y2Property = DependencyProperty.Register( "Y2", typeof(double), typeof(Line), new FrameworkPropertyMetadata(0d, FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender), new ValidateValueCallback(Shape.IsDoubleFinite)); ////// Y2 property /// [TypeConverter(typeof(LengthConverter))] public double Y2 { get { return (double)GetValue(Y2Property); } set { SetValue(Y2Property, value); } } #endregion Dynamic Properties #region Protected Methods and Properties ////// Get the line that defines this shape /// protected override Geometry DefiningGeometry { get { return _lineGeometry; } } #endregion #region Internal Methods internal override void CacheDefiningGeometry() { Point point1 = new Point(X1, Y1); Point point2 = new Point(X2, Y2); // Create the Line geometry _lineGeometry = new LineGeometry(point1, point2); } #endregion Internal Methods #region Private Methods and Members private LineGeometry _lineGeometry; #endregion } } // 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
- XmlUnspecifiedAttribute.cs
- Highlights.cs
- MediaScriptCommandRoutedEventArgs.cs
- TextServicesPropertyRanges.cs
- CodeVariableReferenceExpression.cs
- SelectorAutomationPeer.cs
- XmlLinkedNode.cs
- DPTypeDescriptorContext.cs
- RichTextBoxAutomationPeer.cs
- FixedSOMPageElement.cs
- PeerNameRegistration.cs
- DrawingContextDrawingContextWalker.cs
- MobileControlDesigner.cs
- GeneralTransform3DGroup.cs
- DataGridViewRow.cs
- List.cs
- QuotedPrintableStream.cs
- InvalidEnumArgumentException.cs
- MultiPageTextView.cs
- EmptyTextWriter.cs
- MaskPropertyEditor.cs
- SQLBoolean.cs
- UnsafeMethods.cs
- ToolStripGrip.cs
- CultureTableRecord.cs
- oledbmetadatacollectionnames.cs
- UnsafeNativeMethodsTablet.cs
- SHA1CryptoServiceProvider.cs
- DoubleLinkList.cs
- TreeNodeStyle.cs
- ToolboxItemImageConverter.cs
- DataGrid.cs
- WebPartCancelEventArgs.cs
- DataTableReaderListener.cs
- XmlnsCompatibleWithAttribute.cs
- BaseTemplatedMobileComponentEditor.cs
- ErrorLog.cs
- TextContainerChangedEventArgs.cs
- TextRangeProviderWrapper.cs
- SwitchLevelAttribute.cs
- StorageMappingItemCollection.cs
- DataGridAddNewRow.cs
- DesignerHelpers.cs
- UpdateRecord.cs
- DataControlImageButton.cs
- XmlQualifiedName.cs
- ObjectStateEntry.cs
- DataObjectFieldAttribute.cs
- WebControlAdapter.cs
- SRGSCompiler.cs
- DialogResultConverter.cs
- ISessionStateStore.cs
- OdbcRowUpdatingEvent.cs
- COSERVERINFO.cs
- CallId.cs
- BroadcastEventHelper.cs
- RegistrationProxy.cs
- TimerEventSubscription.cs
- InputElement.cs
- MenuItem.cs
- StateChangeEvent.cs
- SqlClientWrapperSmiStream.cs
- Inline.cs
- TickBar.cs
- BaseServiceProvider.cs
- DbMetaDataCollectionNames.cs
- XmlSchemaSimpleTypeUnion.cs
- RulePatternOps.cs
- HashRepartitionEnumerator.cs
- CodeGen.cs
- _HeaderInfo.cs
- PersistencePipeline.cs
- MultiAsyncResult.cs
- RenderDataDrawingContext.cs
- ChannelFactoryBase.cs
- mediaeventshelper.cs
- PointLightBase.cs
- XPathBinder.cs
- precedingsibling.cs
- ToolboxItemAttribute.cs
- EndOfStreamException.cs
- Style.cs
- DocumentOrderQuery.cs
- FilterEventArgs.cs
- SiteMapNodeCollection.cs
- ImageIndexEditor.cs
- AccessKeyManager.cs
- ImportContext.cs
- DeviceSpecificDesigner.cs
- EntityDataSourceUtil.cs
- NestedContainer.cs
- CmsInterop.cs
- WinEventQueueItem.cs
- GenericTypeParameterConverter.cs
- PersistChildrenAttribute.cs
- WindowsScrollBar.cs
- TimeSpanParse.cs
- RtfControlWordInfo.cs
- AccessText.cs
- PolyQuadraticBezierSegmentFigureLogic.cs