我想设置WinRT XAML Toolkit图表控件的图例项的样式。
我检查了源代码并找到了以下样式:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:datavis="using:WinRTXamlToolkit.Controls.DataVisualization">
<Style
TargetType="datavis:Legend">
<Setter
Property="BorderBrush"
Value="Black" />
<Setter
Property="BorderThickness"
Value="1" />
<Setter
Property="IsTabStop"
Value="False" />
<Setter
Property="TitleStyle">
<Setter.Value>
<Style
TargetType="datavis:Title">
<Setter
Property="Margin"
Value="0,5,0,10" />
<Setter
Property="FontWeight"
Value="Bold" />
<Setter
Property="HorizontalAlignment"
Value="Center" />
</Style>
</Setter.Value>
</Setter>
<Setter
Property="Template">
<Setter.Value>
<ControlTemplate
TargetType="datavis:Legend">
<Border
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="2">
<Grid>
<Grid.RowDefinitions>
<RowDefinition
Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<datavis:Title
Grid.Row="0"
x:Name="HeaderContent"
Content="{TemplateBinding Header}"
ContentTemplate="{TemplateBinding HeaderTemplate}"
Style="{TemplateBinding TitleStyle}" />
<ScrollViewer
Grid.Row="1"
VerticalScrollBarVisibility="Auto"
BorderThickness="0"
Padding="0"
IsTabStop="False">
<ItemsPresenter
x:Name="Items"
Margin="10,0,10,10" />
</ScrollViewer>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
但这会设置Legend容器和Title的样式。
如何设置图例项的样式?
修改 非常感谢菲利普的回答,这正是我想要的。 但Visual Studio在以下位置给了我一个错误:
<Setter.Value>
<ItemsPanelTemplate>
<controls:UniformGrid
Columns="1"
Rows="5" />
</ItemsPanelTemplate>
</Setter.Value>
它说没有找到控件:UniformGrid ,我删除了这一部分,并设法使事情正常工作。
答案 0 :(得分:5)
首先要注意的是Legend
控件是ItemsControl
,因此您可以使用ItemContainerStyle
设置其项目的样式。项目模板由LegendItem
样式管理,您也可以在源代码中找到该样式。在应用程序中设置样式的方法是通过在Style
控件上设置Legend
属性来设置LegendStyle
的{{1}}。然后在Chart
样式集Legend
到ItemContainerStyle
Style
。我没有检查LegendItem
控件在Blend中是否正常运行,但如果是这样的话,那将是编辑这些控件的最佳位置。我只是手工制作了这个样本。
Chart