我是WPF和Visual Studio的新手 - 我在我的应用程序中使用Modern UI (Metro) Charts效果很好。然而,我遇到的问题是我需要更改部分源代码以将特定图表实现到我的项目中。
具体来说,我需要更改径向仪表件(径向仪表图的一部分)的硬编码高度和宽度,以便可以缩放。我甚至找到了一个代码示例(见下文),但我无法弄清楚在哪里实现它。原文位于下载的Generic.XAML
部分。
<Style x:Key="RadialGaugeChartChartAreaStyle" TargetType="chart:ChartArea">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chart:ChartArea">
<Grid>
<Viewbox Height="Auto" Width="Auto">
<ContentControl Content="{TemplateBinding Content}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" />
</Viewbox>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我不是在寻找任何人为我这样做,只是指向正确的方向 - 我很难过。
答案 0 :(得分:0)
您无需修改图表的样式。
事实上,在ViewBox
的帮助下缩放图表非常简单。您所要做的就是为图表定义decent size
- 足够大以容纳系列,但不能超大。
例如,如果系列有四个条目,您可以为图表定义一个800 x 600的decent size
。如果系列有更多条目,则定义更大的大小。
<MetroChart:RadialGaugeChart Width="800" Height="600">
<MetroChart:RadialGaugeChart.Series>
<MetroChart:ChartSeries>
<!---->
</MetroChart:ChartSeries>
</MetroChart:RadialGaugeChart.Series>
</MetroChart:RadialGaugeChart>
并将其放入ViewBox
。
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:MetroChart="clr-namespace:De.TorstenMandelkow.MetroChart;assembly=De.TorstenMandelkow.MetroChart" x:Class="WpfApplication1.MainWindow"
Title="MainWindow" Height="800" Width="1000">
<Grid>
<Viewbox>
<MetroChart:RadialGaugeChart Width="800" Height="600">
<MetroChart:RadialGaugeChart.Series>
<MetroChart:ChartSeries
SeriesTitle="Errors"
DisplayMember="Category"
ValueMember="Number"
ItemsSource="{Binding Path=Errors}">
</MetroChart:ChartSeries>
</MetroChart:RadialGaugeChart.Series>
</MetroChart:RadialGaugeChart>
</Viewbox>
</Grid>
ViewBox
可以在任何可用空间中很好地缩放图表。