====== ThinkGeo.MapSuite.WindowsPhoneCore.LineStyle ====== {{section>upgrade_map_suite_to_10.0}} This class is the style used to draw lines. === Remarks === This class is commonly used to draw lines on the GeoCanvas. It is specialized for drawing roads, as this is the main kind of line feature that is most often drawn. You can set an inner, outer and center pen to give you a nice effect. The outer pen draws first, and should typically be black and larger then the inner pen. The inner pen draws next, and should be set as the color of the road you want. It should be thinner than the outer pen. The center pen draws last, and is used to represent a centerline in the road. We suggest that you only use the center pen for highways at low zoom level, as the dashed pen has some performance penalties. ===== Inheritance Hierarchy ===== *System.Object **[[ThinkGeo.MapSuite.WindowsPhoneCore.Style]] ***[[ThinkGeo.MapSuite.WindowsPhoneCore.LineStyle]] ===== Members Summary ===== ==== Public Constructors ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ | {{wiki:PublicMethod.gif|Public Method}}[[#LineStyle()|LineStyle]] | | | This is a constructor for the class. | | {{wiki:PublicMethod.gif|Public Method}}[[#LineStyle(GeoPen)|LineStyle]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | | This is a constructor for the class. | | {{wiki:PublicMethod.gif|Public Method}}[[#LineStyle(GeoPen, GeoPen)|LineStyle]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]], [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | | This is a constructor for the class. | | {{wiki:PublicMethod.gif|Public Method}}[[#LineStyle(GeoPen, GeoPen, GeoPen)|LineStyle]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]], [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]], [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | | This is a constructor for the class. | ==== Protected Constructors ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ ==== Public Methods ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ | {{wiki:PublicMethod.gif|Public Method}}[[#Draw(IEnumerable, GeoCanvas, Collection, Collection)|Draw]] | IEnumerable<[[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]]>, [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas|GeoCanvas]], Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]>, Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]> | [[ThinkGeo.MapSuite.WindowsPhoneCore.Style|Style]] | This method draws the features on the canvas you provided. | | {{wiki:PublicMethod.gif|Public Method}}[[#Draw(IEnumerable, GeoCanvas, Collection, Collection)|Draw]] | IEnumerable<[[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]]>, [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas|GeoCanvas]], Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]>, Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]> | [[ThinkGeo.MapSuite.WindowsPhoneCore.Style|Style]] | This method draws the shapes on the canvas you provided. | | {{wiki:PublicMethod.gif|Public Method}}[[#DrawSample(GeoCanvas, DrawingRectangleF)|DrawSample]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas|GeoCanvas]], [[ThinkGeo.MapSuite.WindowsPhoneCore.DrawingRectangleF|DrawingRectangleF]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.Style|Style]] | | | {{wiki:PublicMethod.gif|Public Method}}[[#Equals(Object)|Equals]] | Object | Object | | | {{wiki:PublicMethod.gif|Public Method}}[[#GetHashCode()|GetHashCode]] | | Object | | | {{wiki:PublicMethod.gif|Public Method}}[[#GetRequiredColumnNames()|GetRequiredColumnNames]] | | [[ThinkGeo.MapSuite.WindowsPhoneCore.Style|Style]] | This method returns the column data for each feature that is required for the style to properly draw. | | {{wiki:PublicMethod.gif|Public Method}}[[#GetType()|GetType]] | | Object | | | {{wiki:PublicMethod.gif|Public Method}}[[#ToString()|ToString]] | | Object | | ==== Protected Methods ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ | {{wiki:ProtectedMethod.gif|Protected Method}}[[#DrawCore(IEnumerable, GeoCanvas, Collection, Collection)|DrawCore]] | IEnumerable<[[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]]>, [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas|GeoCanvas]], Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]>, Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]> | [[ThinkGeo.MapSuite.WindowsPhoneCore.Style|Style]](overriden) | This method draws the features on the canvas you provided. | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#DrawSampleCore(GeoCanvas, DrawingRectangleF)|DrawSampleCore]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas|GeoCanvas]], [[ThinkGeo.MapSuite.WindowsPhoneCore.DrawingRectangleF|DrawingRectangleF]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.Style|Style]](overriden) | | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#Finalize()|Finalize]] | | Object | | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#GetRequiredColumnNamesCore()|GetRequiredColumnNamesCore]] | | [[ThinkGeo.MapSuite.WindowsPhoneCore.Style|Style]] | This method returns the column data for each feature that is required for the style to properly draw. | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#MemberwiseClone()|MemberwiseClone]] | | Object | | ==== Public Properties ==== ^ Name ^ Return ^ DeclaringType ^ Summary ^ | {{wiki:PublicProperty.gif|Public Property}}[[#CenterPen|CenterPen]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | | This property gets and sets the center pen for the line. | | {{wiki:PublicProperty.gif|Public Property}}[[#CustomLineStyles|CustomLineStyles]] | Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.LineStyle|LineStyle]]> | | This property returns a collection of line styles, allowing you to stack multiple line styles on top of each other. | | {{wiki:PublicProperty.gif|Public Property}}[[#InnerPen|InnerPen]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | | This property gets and sets the inner pen for the line. | | {{wiki:PublicProperty.gif|Public Property}}[[#IsActive|IsActive]] | Boolean | [[ThinkGeo.MapSuite.WindowsPhoneCore.Style|Style]] | This property gets and sets the active status of the style. | | {{wiki:PublicProperty.gif|Public Property}}[[#Name|Name]] | String | [[ThinkGeo.MapSuite.WindowsPhoneCore.Style|Style]] | This property gets and set the name of the style. | | {{wiki:PublicProperty.gif|Public Property}}[[#OuterPen|OuterPen]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | | This property gets and sets the outer pen for the line. | | {{wiki:PublicProperty.gif|Public Property}}[[#RequiredColumnNames|RequiredColumnNames]] | Collection | [[ThinkGeo.MapSuite.WindowsPhoneCore.Style|Style]] | This property gets the collection of fields that are required for the style. | | {{wiki:PublicProperty.gif|Public Property}}[[#XOffsetInPixel|XOffsetInPixel]] | Single | | This property gets and sets the X pixel offset for drawing each feature. | | {{wiki:PublicProperty.gif|Public Property}}[[#YOffsetInPixel|YOffsetInPixel]] | Single | | This property gets and sets the Y pixel offset for drawing each feature. | ==== Protected Properties ==== ^ Name ^ Return ^ DeclaringType ^ Summary ^ ==== Public Events ==== ^ Name ^ Event Arguments ^ DeclaringType ^ Summary ^ ===== Public Constructors ===== ==== LineStyle() ==== This is a constructor for the class. === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Constructors|Go Back]] ==== LineStyle(GeoPen) ==== This is a constructor for the class. === Overloads === This constructor allows you to pass in a single outer pen. Use this when you do not need any additional pens to draw the feature. === Remarks === Use this when you do not need any additional pens to draw the feature. === Parameters === ^ Name ^ Type ^ Description ^ | outerPen | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | This parameter is the outer pen used to draw the feature. | [[#Public Constructors|Go Back]] ==== LineStyle(GeoPen, GeoPen) ==== This is a constructor for the class. === Overloads === This constructor allows you to pass in an outer and inner pen. This is common for drawing roads. === Remarks === This is a common constructor for drawing roads. === Parameters === ^ Name ^ Type ^ Description ^ | outerPen | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | This parameter is the outer pen used to draw the feature. | | innerPen | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | This parameter is the inner pen used to draw the feature. | [[#Public Constructors|Go Back]] ==== LineStyle(GeoPen, GeoPen, GeoPen) ==== This is a constructor for the class. === Overloads === This constructor allows you to pass in an outer, inner and center pen. This is common for drawing low level highways with center lines. === Remarks === This is common for drawing low level highways with center lines. === Parameters === ^ Name ^ Type ^ Description ^ | outerPen | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | This parameter is the outer pen used to draw the feature. | | innerPen | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | This parameter is the inner pen used to draw the feature. | | centerPen | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | This parameter is the center pen used to draw the feature. | [[#Public Constructors|Go Back]] ===== Protected Constructors ===== ===== Public Methods ===== ==== Draw(IEnumerable, GeoCanvas, Collection, Collection) ==== This method draws the features on the canvas you provided. === Remarks === This method is the concrete wrapper for the abstract method DrawCore. In this method, we take the features you passed in and draw them on the canvas you provided. Each style (based on its properties) may draw each feature differently. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. === Return Value === ^ Return Type ^ Description ^ | Void | | === Parameters === ^ Name ^ Type ^ Description ^ | features | IEnumerable<[[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]]> | This parameter represents the features you want to draw on the canvas. | | canvas | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas|GeoCanvas]] | This parameter represents the canvas you want to draw the features on. | | labelsInThisLayer | Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]> | The labels will be drawn in the current layer only. | | labelsInAllLayers | Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]> | The labels will be drawn in all layers. | [[#Public Methods|Go Back]] ==== Draw(IEnumerable, GeoCanvas, Collection, Collection) ==== This method draws the shapes on the canvas you provided. === Remarks === This method is the concrete wrapper for the abstract method DrawCore. In this method, we take the shapes you passed in and draw them on the canvas you provided. Each style (based on its properties) may draw each shape differently. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. === Return Value === ^ Return Type ^ Description ^ | Void | | === Parameters === ^ Name ^ Type ^ Description ^ | shapes | IEnumerable<[[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]]> | This parameter represents the shapes you want to draw on the canvas. | | canvas | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas|GeoCanvas]] | This parameter represents the canvas you want to draw the shapes on. | | labelsInThisLayer | Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]> | The labels will be drawn in the current layer only. | | labelsInAllLayers | Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]> | The labels will be drawn in all layers. | [[#Public Methods|Go Back]] ==== DrawSample(GeoCanvas, DrawingRectangleF) ==== === Return Value === ^ Return Type ^ Description ^ | Void | | === Parameters === ^ Name ^ Type ^ Description ^ | canvas | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas|GeoCanvas]] | | | drawingExtent | [[ThinkGeo.MapSuite.WindowsPhoneCore.DrawingRectangleF|DrawingRectangleF]] | | [[#Public Methods|Go Back]] ==== Equals(Object) ==== === Return Value === ^ Return Type ^ Description ^ | Boolean | | === Parameters === ^ Name ^ Type ^ Description ^ | obj | Object | | [[#Public Methods|Go Back]] ==== GetHashCode() ==== === Return Value === ^ Return Type ^ Description ^ | Int32 | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== GetRequiredColumnNames() ==== This method returns the column data for each feature that is required for the style to properly draw. === Remarks === This method is the concrete wrapper for the abstract method GetRequiredColumnNamesCore. In this method, we return the column names that are required for the style to draw the feature properly. For example, if you have a style that colors areas blue when a certain column value is over 100, then you need to be sure you include that column name. This will ensure that the column data is returned to you in the feature when it is ready to draw. In many of the styles, we add properties to allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore we read that property and add it to the collection. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. === Return Value === ^ Return Type ^ Description ^ | Collection | This method returns a collection of column names that the style needs. | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== GetType() ==== === Return Value === ^ Return Type ^ Description ^ | Type | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== ToString() ==== === Return Value === ^ Return Type ^ Description ^ | String | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ===== Protected Methods ===== ==== DrawCore(IEnumerable, GeoCanvas, Collection, Collection) ==== This method draws the features on the canvas you provided. === Remarks === This overridden method is called from the concrete public method Draw. In this method, we take the features you passed in and draw them on the canvas you provided. Each style (based on its properties) may draw each feature differently. When overriding this method, consider each feature and its column data values. You can use the full power of the GeoCanvas to do the drawing. If you need column data for a feature, be sure to override the GetRequiredColumnNamesCore and add the columns you need to the collection. In many of the styles, we add properties to allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore, we read that property and add it to the collection. === Return Value === ^ Return Type ^ Description ^ | Void | | === Parameters === ^ Name ^ Type ^ Description ^ | features | IEnumerable<[[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]]> | This parameter represents the features you want to draw on the canvas. | | canvas | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas|GeoCanvas]] | This parameter represents the canvas you want to draw the features on. | | labelsInThisLayer | Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]> | The labels will be drawn in the current layer only. | | labelsInAllLayers | Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate|SimpleCandidate]]> | The labels will be drawn in all layers. | [[#Protected Methods|Go Back]] ==== DrawSampleCore(GeoCanvas, DrawingRectangleF) ==== === Return Value === ^ Return Type ^ Description ^ | Void | | === Parameters === ^ Name ^ Type ^ Description ^ | canvas | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas|GeoCanvas]] | | | drawingExtent | [[ThinkGeo.MapSuite.WindowsPhoneCore.DrawingRectangleF|DrawingRectangleF]] | | [[#Protected Methods|Go Back]] ==== Finalize() ==== === Return Value === ^ Return Type ^ Description ^ | Void | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Methods|Go Back]] ==== GetRequiredColumnNamesCore() ==== This method returns the column data for each feature that is required for the style to properly draw. === Remarks === This abstract method is called from the concrete public method GetRequiredFieldNames. In this method, we return the column names that are required for the style to draw the feature properly. For example, if you have a style that colors areas blue when a certain column value is over 100, then you need to be sure you include that column name. This will ensure that the column data is returned to you in the feature when it is ready to draw. In many of the styles, we add properties to allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore we read that property and add it to the collection. === Return Value === ^ Return Type ^ Description ^ | Collection | This method returns a collection of column names that the style needs. | === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Methods|Go Back]] ==== MemberwiseClone() ==== === Return Value === ^ Return Type ^ Description ^ | Object | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Methods|Go Back]] ===== Public Properties ===== ==== CenterPen ==== This property gets and sets the center pen for the line. === Remarks === You can set an inner, outer and center pen to give you a nice effect. The outer pen draws first, and should typically be black and larger then the inner pen. The inner pen draws next, and should be set as the color of the road you want. It should be thinner than the outer pen. The center pen draws last, and is used to represent a centerline in the road. We suggest that you only use the center pen for highways at low zoom level, as the dashed pen has some performance penalties. === Return Value === ^ Return Type ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | [[#Public Properties|Go Back]] ==== CustomLineStyles ==== This property returns a collection of line styles, allowing you to stack multiple line styles on top of each other. === Remarks === Using this collection, you can stack multiple styles on top of each other. When we draw the feature, we will draw them in order that they exist in the collection. You can use these stacks to create drop shadow effects, multiple colored outlines, etc. === Return Value === ^ Return Type ^ | Collection<[[ThinkGeo.MapSuite.WindowsPhoneCore.LineStyle|LineStyle]]> | [[#Public Properties|Go Back]] ==== InnerPen ==== This property gets and sets the inner pen for the line. === Remarks === You can set an inner, outer and center pen to give you a nice effect. The outer pen draws first, and should typically be black and larger then the inner pen. The inner pen draws next, and should be set as the color of the road you want. It should be thinner than the outer pen. The center pen draws last, and is used to represent a centerline in the road. We suggest that you only use the center pen for highways at low zoom level, as the dashed pen has some performance penalties. === Return Value === ^ Return Type ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | [[#Public Properties|Go Back]] ==== IsActive ==== This property gets and sets the active status of the style. === Remarks === If the style is not active then it will not draw. === Return Value === ^ Return Type ^ | Boolean | [[#Public Properties|Go Back]] ==== Name ==== This property gets and set the name of the style. === Remarks === This name is not used by the system; it is only for the developer. However, it can be used if you generate your own legend. === Return Value === ^ Return Type ^ | String | [[#Public Properties|Go Back]] ==== OuterPen ==== This property gets and sets the outer pen for the line. === Remarks === You can set an inner, outer and center pen to give you a nice effect. The outer pen draws first, and should typically be black and larger then the inner pen. The inner pen draws next, and should be set as the color of the road you want. It should be thinner than the outer pen. The center pen draws last, and is used to represent a centerline in the road. We suggest that you only use the center pen for highways at low zoom level, as the dashed pen has some performance penalties. === Return Value === ^ Return Type ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeoPen|GeoPen]] | [[#Public Properties|Go Back]] ==== RequiredColumnNames ==== This property gets the collection of fields that are required for the style. === Remarks === This property gets the collection of fields that are required for the style. These are in addition to any other columns you specify in styles that inherit from this one. For example, if you have use a ValueStyle and it requires a column name for the value comparison, then that column does not need to be in this collection. You only use the RequiredColumnNames for columns you need beyond those required by specific inherited styles. === Return Value === ^ Return Type ^ | Collection | [[#Public Properties|Go Back]] ==== XOffsetInPixel ==== This property gets and sets the X pixel offset for drawing each feature. === Remarks === This property allows you to specify an X offset. When combined with a Y offset, it is useful to allow you to achieve effects such as drop shadows, etc. There also may be times when you need to modify the location of feature data so as to better align it with raster satellite data. === Return Value === ^ Return Type ^ | Single | [[#Public Properties|Go Back]] ==== YOffsetInPixel ==== This property gets and sets the Y pixel offset for drawing each feature. === Remarks === This property allows you to specify an Y offset. When combined with an X offset, it is useful to allow you to achieve effects such as drop shadows, etc. There also may be times when you need to modify the location of feature data so as to better align it with raster satellite data. === Return Value === ^ Return Type ^ | Single | [[#Public Properties|Go Back]] ===== Protected Properties ===== ===== Public Events ===== __NOTOC__ [[Category:WindowsPhoneMapSuiteCore]] [[Category:ThinkGeo.MapSuite.WindowsPhoneCore]] [[Category:UpdateDocumentation]]