このトピックは、 XamGeographicMap™ コントロールで地理的シリーズの図形をスタイルする方法を提供します。
以下の表に、このトピックを理解するための前提条件として求められるトピックをリストします。
このトピックには次のセクションがあります。
XamGeographicMap コントロールでは、図形は地理的コンテキストで多角形またはポリラインを表す視覚要素です。これらの図形は、地理的シリーズの ShapeMemberPath プロパティにマップされるデータ列で定義されます。
地理的シリーズの以下のタイプは、図形をサポートします。
以下の表で、地理的シリーズで図形要素のスタイルを設定するためのプロパティを簡単に説明します。
以下の表には、このトピックのコード例が示されています。
ShapeStyle プロパティに適用される Style の TargetType プロパティは、地理的シリーズで使用される図形要素のタイプと一致する必要があります。
以下の表は、地理的シリーズのタイプを図形要素の想定されるタイプにマップします。
以下は、地理的シリーズの図形要素にスタイルを適用した XamGeographicMap コントロールのプレビューです。
以下のコードは、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 プロパティに適用できるスタイル セレクターのタイプを簡単に説明します。
以下は、地理的シリーズの図形要素の条件付きスタイルがある XamGeographicMap コントロールのプレビューです。
以下のコードは、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);
以下のトピックでは、このトピックに関連する情報を提供しています。