バージョン

地理的シリーズの図形をスタイル

トピックの概要

目的

このトピックは、 XamGeographicMap™ コントロールで地理的シリーズの図形をスタイルする方法を提供します。

前提条件

以下の表に、このトピックを理解するための前提条件として求められるトピックをリストします。

トピック 目的

このトピックは、マップ、シェープ ファイル、および地理的な関連資料についての情報を提供します。これらのリソースを使用して、地理的シェープ ファイルおよび編集のためのツールの詳細を学習し入手します。

このトピックは、XamGeographicMap コントロールに地理的データがあるシェープ ファイルをバインドする方法を提供します。

このトピックは、XamGeographicMap コントロールの地理的シリーズのサポートされているタイプについての情報を提供します。

概要

XamGeographicMap コントロールでは、図形は地理的コンテキストで多角形またはポリラインを表す視覚要素です。これらの図形は、地理的シリーズの ShapeMemberPath プロパティにマップされるデータ列で定義されます。

地理的シリーズの以下のタイプは、図形をサポートします。

以下の表で、地理的シリーズで図形要素のスタイルを設定するためのプロパティを簡単に説明します。

プロパティ 説明

図形要素の塗りつぶしを描画するためのブラシを指定します。

図形要素のストロークを描画するためのブラシを指定します。

図形要素を描画するためのスタイルを指定します

図形要素を描画するためのスタイルをランダムまたは条件的に選択するスタイル セレクターを指定します。

実例

以下の表には、このトピックのコード例が示されています。

説明

地理的シリーズの図形にスタイルを適用します。

地理的シリーズの ShapeStyle プロパティを使用してスタイルを図形要素に適用する方法を示します。

地理的シリーズの図形にスタイル セレクターを適用します。

地理的シリーズの ShapeStyleSelector プロパティを使用して図形要素を描画するための条件付き規則でスタイル セレクターを適用する方法を示します。

コード例:地理的シリーズの図形にスタイルを適用

ShapeStyle プロパティに適用される StyleTargetType プロパティは、地理的シリーズで使用される図形要素のタイプと一致する必要があります。

以下の表は、地理的シリーズのタイプを図形要素の想定されるタイプにマップします。

地理的シリーズ ターゲットの種類

Path

Path

ShapeControl

以下は、地理的シリーズの図形要素にスタイルを適用した XamGeographicMap コントロールのプレビューです。

GeographicMap Styling Shapes in Geographic Series 1.png

以下のコードは、GeographicShapeSeries の ShapeStyle プロパティにスタイルを適用します。

XAML の場合:

<ig:XamGeographicMap x:Name="GeoMap">
    <ig:XamGeographicMap.Series>
        <ig:GeographicShapeSeries x:Name="geoSeries" >
           <ig:GeographicShapeSeries.ShapeStyle>
                 <Style TargetType="Path">
                       <Setter Property="Fill" Value="#E2444748" />
                       <Setter Property="Stroke" Value="#B1B0B7BA" />
                       <Setter Property="StrokeThickness" Value="1" />
                 </Style>
           </ig:GeographicShapeSeries.ShapeStyle>
        </ig:GeographicShapeSeries>
    </ig:XamGeographicMap.Series>
</ig:XamGeographicMap>

Visual Basic の場合:

Dim style = New Style(GetType(Path))
style.Setters.Add(new Setter(Path.FillProperty, "#E2444748"))
style.Setters.Add(new Setter(Path.StrokeProperty, "#B1B0B7BA"))
style.Setters.Add(new Setter(Path.StrokeThicknessProperty, 1))
Dim geoSeries = New GeographicShapeSeries()
geoSeries.ShapeStyle = style
Me.GeoMap.Series.Add(geoSeries)

C# の場合:

var style = new Style(typeof(Path));
style.Setters.Add(new Setter(Path.FillProperty, "#E2444748"));
style.Setters.Add(new Setter(Path.StrokeProperty, "#B1B0B7BA"));
style.Setters.Add(new Setter(Path.StrokeThicknessProperty, 1));
var geoSeries = new GeographicShapeSeries();
geoSeries.ShapeStyle = style;
this.GeoMap.Series.Add(geoSeries);

コード例:地理的シリーズの図形にスタイル セレクターを適用

以下の表で、地理的シリーズの ShapeStyleSelector プロパティに適用できるスタイル セレクターのタイプを簡単に説明します。

スタイル セレクター 説明

Brushes プロパティに設定されるブラシのコレクションを使用して図形要素の塗りつぶしの描画を提供します。

Styles プロパティに設定された Style オブジェクトのコレクションを使用して図形要素のランダム描画を提供します。

Rules プロパティに設定された ConditionalStyleRule オブジェクトのコレクションを使用して図形要素の条件付き描画を提供します。

以下は、地理的シリーズの図形要素の条件付きスタイルがある XamGeographicMap コントロールのプレビューです。

GeographicMap Styling Shapes in Geographic Series 2.png

以下のコードは、GeographicShapeSeries の ItemsSource プロパティにバインドされたデータの値に基づいて形状要素を描画するための条件付き規則と共に ConditionalStyleSelector を適用します。

XAML の場合:

<ig:XamGeographicMap x:Name="GeoMap">
    <ig:XamGeographicMap.Resources>
        <Style TargetType="Path" x:Key="shapeAsiaStyle">
            <Setter Property="Fill" Value="#FF5F3E9D" />
            <Setter Property="Stroke" Value="White" />
        </Style>
        <Style TargetType="Path" x:Key="shapeEuropeStyle">
            <Setter Property="Fill" Value="#FFBF3D3D" />
            <Setter Property="Stroke" Value="White" />
        </Style>
        <Style TargetType="Path" x:Key="shapeAfricaStyle">
            <Setter Property="Fill" Value="#FF3B7F2A" />
            <Setter Property="Stroke" Value="White" />
        </Style>
        <Style TargetType="Path" x:Key="shapeNorthAmericaStyle">
            <Setter Property="Fill" Value="#FF3D5DAF" />
            <Setter Property="Stroke" Value="White" />
        </Style>
        <Style TargetType="Path" x:Key="shapeLatinAmericaStyle">
            <Setter Property="Fill" Value="#FF5B5D61" />
            <Setter Property="Stroke" Value="White" />
        </Style>
        <Style TargetType="Path" x:Key="shapeAustraliaStyle">
            <Setter Property="Fill" Value="#FFC6B046" />
            <Setter Property="Stroke" Value="White" />
        </Style>
     </ig:XamGeographicMap.Resources>
    <ig:XamGeographicMap.Series>
        <ig:GeographicShapeSeries
            ItemsSource="{StaticResource shapeFileSource}"
            ShapeMemberPath="Points">
            <ig:GeographicShapeSeries.ShapeStyleSelector>
               <ig:ConditionalStyleSelector>
                    <ig:ConditionalStyleSelector.Rules>
                        <ig:EqualToConditionalStyleRule ValueMemberPath="Fields[REGION]" ComparisonValue="Asia" StyleToApply="{StaticResource shapeAsiaStyle}" />
                        <ig:EqualToConditionalStyleRule ValueMemberPath="Fields[REGION]" ComparisonValue="Europe" StyleToApply="{StaticResource shapeEuropeStyle}" />
                        <ig:EqualToConditionalStyleRule ValueMemberPath="Fields[REGION]" ComparisonValue="Africa" StyleToApply="{StaticResource shapeAfricaStyle}" />
                        <ig:EqualToConditionalStyleRule ValueMemberPath="Fields[REGION]" ComparisonValue="North America" StyleToApply="{StaticResource shapeNorthAmericaStyle}" />
                        <ig:EqualToConditionalStyleRule ValueMemberPath="Fields[REGION]" ComparisonValue="Latin America" StyleToApply="{StaticResource shapeLatinAmericaStyle}" />
                        <ig:EqualToConditionalStyleRule ValueMemberPath="Fields[REGION]" ComparisonValue="Australia" StyleToApply="{StaticResource shapeAustraliaStyle}" />
                    </ig:ConditionalStyleSelector.Rules>
                </ig:ConditionalStyleSelector>
            </ig:GeographicShapeSeries.ShapeStyleSelector>
        </ig:GeographicShapeSeries>
    </ig:XamGeographicMap.Series>
</ig:XamGeographicMap>

Visual Basic の場合:

Dim shapeAsiaStyle = New Style(typeof(Path))
style.Setters.Add(New Setter(Path.FillProperty, "#FF5F3E9D"))
style.Setters.Add(New Setter(Path.StrokeProperty, "White"))
Dim shapeEuropeStyle = New Style(typeof(Path))
style.Setters.Add(New Setter(Path.FillProperty, "#FFBF3D3D"))
style.Setters.Add(New Setter(Path.StrokeProperty, "White"))
Dim shapeAfricaStyle = New Style(typeof(Path))
style.Setters.Add(New Setter(Path.FillProperty, "#FF3B7F2A"))
style.Setters.Add(New Setter(Path.StrokeProperty, "White"))
Dim shapeNorthAmericaStyle = New Style(typeof(Path))
style.Setters.Add(New Setter(Path.FillProperty, "#FF3D5DAF"))
style.Setters.Add(New Setter(Path.StrokeProperty, "White"))
Dim shapeLatinAmericaStyle = New Style(typeof(Path))
style.Setters.Add(New Setter(Path.FillProperty, "#FFC6B046"))
style.Setters.Add(New Setter(Path.StrokeProperty, "White"))
Dim shapeAustraliaStyle = New Style(typeof(Path))
style.Setters.Add(New Setter(Path.FillProperty, "#FFC6B046"))
style.Setters.Add(New Setter(Path.StrokeProperty, "White"))

Dim selector = New ConditionalStyleSelector()
selector.Rules.Add(New EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "Asia", StyleToApply = shapeAsiaStyle } )
selector.Rules.Add(New EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "Europe", StyleToApply = shapeEuropeStyle });
selector.Rules.Add(New EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "Africa", StyleToApply = shapeAfricaStyle })
selector.Rules.Add(New EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "North America", StyleToApply = shapeNorthAmericaStyle })
selector.Rules.Add(New EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "Latin America", StyleToApply = shapeLatinAmericaStyle })
selector.Rules.Add(New EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "Australia", StyleToApply = shapeAustraliaStyle })

var geoSeries = New GeographicShapeSeries()
geoSeries.StyleSelector = selector
GeoMap.Series.Add(geoSeries)

C# の場合:

var shapeAsiaStyle = new Style(typeof(Path));
style.Setters.Add(new Setter(Path.FillProperty, "#FF5F3E9D"));
style.Setters.Add(new Setter(Path.StrokeProperty, "White"));
var shapeEuropeStyle = new Style(typeof(Path));
style.Setters.Add(new Setter(Path.FillProperty, "#FFBF3D3D"));
style.Setters.Add(new Setter(Path.StrokeProperty, "White"));
var shapeAfricaStyle = new Style(typeof(Path));
style.Setters.Add(new Setter(Path.FillProperty, "#FF3B7F2A"));
style.Setters.Add(new Setter(Path.StrokeProperty, "White"));
var shapeNorthAmericaStyle = new Style(typeof(Path));
style.Setters.Add(new Setter(Path.FillProperty, "#FF3D5DAF"));
style.Setters.Add(new Setter(Path.StrokeProperty, "White"));
var shapeLatinAmericaStyle = new Style(typeof(Path));
style.Setters.Add(new Setter(Path.FillProperty, "#FFC6B046"));
style.Setters.Add(new Setter(Path.StrokeProperty, "White"));
var shapeAustraliaStyle = new Style(typeof(Path));
style.Setters.Add(new Setter(Path.FillProperty, "#FFC6B046"));
style.Setters.Add(new Setter(Path.StrokeProperty, "White"));

var selector = new ConditionalStyleSelector();
selector.Rules.Add(new EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "Asia", StyleToApply = shapeAsiaStyle } );
selector.Rules.Add(new EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "Europe", StyleToApply = shapeEuropeStyle });
selector.Rules.Add(new EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "Africa", StyleToApply = shapeAfricaStyle });
selector.Rules.Add(new EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "North America", StyleToApply = shapeNorthAmericaStyle });
selector.Rules.Add(new EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "Latin America", StyleToApply = shapeLatinAmericaStyle });
selector.Rules.Add(new EqualToConditionalStyleRule { ValueMemberPath = "Fields[REGION]", ComparisonValue = "Australia", StyleToApply = shapeAustraliaStyle });

var geoSeries = new GeographicShapeSeries();
geoSeries.StyleSelector = selector;
GeoMap.Series.Add(geoSeries);

関連コンテンツ

以下のトピックでは、このトピックに関連する情報を提供しています。

トピック 目的

このトピックは、マップ、シェープ ファイル、および地理的な関連資料についての情報を提供します。これらのリソースを使用して、地理的シェープ ファイルおよび編集のためのツールの詳細を学習し入手します。

このトピックは、XamGeographicMap コントロールに地理的データがあるシェープ ファイルをバインドする方法を提供します。

このトピックは、XamGeographicMap コントロールの地理的シリーズのサポートされているタイプについての情報を提供します。