我正在使用Windows Phone应用程序,我正在使用饼图 - 我对Silverlight控件工具箱来说相对较新。
我想让我的饼图使用PhoneAccentBrush
的不同不透明度作为其颜色托盘。 (即如果强调颜色是绿色,那么我使用绿色,然后使用0.8,0.6,0.4,0.2颜色的不透明度作为我的饼图托盘)
我尝试了一些事情,但没有一个能够奏效 - 有没有人完成了这个,如果是这样的话?
提前谢谢 道格答案 0 :(得分:1)
你尝试了什么,为什么你认为它不起作用?
我对WP7 sdk不太熟悉,但几周后我确实使用Silverlight工具包饼图做了一些工作,定义托盘颜色是这样的:
<visualizationToolkit:ResourceDictionaryCollection x:Key="ChartColorCollection">
<!-- PIECHART DATA POINT COLORS -->
<ResourceDictionary>
<PhoneAccentBrush x:Key="AccentBrush />
<Style x:Key="DataPointStyle" BasedOn="{StaticResource PieDataPointStyle1}" TargetType="chartingToolkit:PieDataPoint">
<Setter Property="Background" Value="{StaticResource AccentBrush}"/>
</Style>
</ResourceDictionary>
<ResourceDictionary>
<PhoneAccentBrush x:Key="AccentBrush />
<Style x:Key="DataPointStyle" BasedOn="{StaticResource PieDataPointStyle1}" TargetType="chartingToolkit:PieDataPoint">
<Setter Property="Background" Value="{StaticResource AccentBrush}"/>
</Style>
</ResourceDictionary>
<ResourceDictionary>
<PhoneAccentBrush x:Key="AccentBrush />
<Style x:Key="DataPointStyle" BasedOn="{StaticResource PieDataPointStyle1}" TargetType="chartingToolkit:PieDataPoint">
<Setter Property="Background" Value="{StaticResource AccentBrush}"/>
</Style>
</ResourceDictionary>
<!-- etc -->
我做了类似于你用一种颜色的不同色调描述的东西(因此每个颜色托盘条目将有一个单独的ResourceDictionary)。在我的实现中,我使用的是RadialGradientBrush,但概念应该是相同的。
答案 1 :(得分:1)
我拿了我所拥有的(它与非常类似于rhooligan的帖子)并用一些固体刷子按摩它,我添加到app.xaml:
在xaml视图页面中:
<charting:Chart x:Name="chartMyChart" BorderBrush="{x:Null}" Foreground="{x:Null}" Style="{StaticResource ChartStyle1}" LegendStyle="{StaticResource PieLegendStyle1}">
<charting:Chart.Palette>
<visualizationToolkit:ResourceDictionaryCollection>
<ResourceDictionary>
<Style x:Key="DataPointStyle" TargetType="Control">
<Setter Property="Background" Value="{StaticResource PieChartColour1}" />
<Setter Property="BorderBrush" Value="{StaticResource PieChartColour1}" />
</Style>
</ResourceDictionary>
<ResourceDictionary>
<Style x:Key="DataPointStyle" TargetType="Control">
<Setter Property="Background" Value="{StaticResource PieChartColour2}" />
<Setter Property="BorderBrush" Value="{StaticResource PieChartColour2}" />
</Style>
</ResourceDictionary>
<ResourceDictionary>
<Style x:Key="DataPointStyle" TargetType="Control">
<Setter Property="Background" Value="{StaticResource PieChartColour3}"/>
<Setter Property="BorderBrush" Value="{StaticResource PieChartColour3}" />
</Style>
</ResourceDictionary>
<ResourceDictionary>
<Style x:Key="DataPointStyle" TargetType="Control">
<Setter Property="Background" Value="{StaticResource PieChartColour4}"/>
<Setter Property="BorderBrush" Value="{StaticResource PieChartColour4}" />
</Style>
</ResourceDictionary>
<ResourceDictionary>
<Style x:Key="DataPointStyle" TargetType="Control">
<Setter Property="Background" Value="{StaticResource PieChartColour5}"/>
<Setter Property="BorderBrush" Value="{StaticResource PieChartColour5}" />
</Style>
</ResourceDictionary>
</visualizationToolkit:ResourceDictionaryCollection>
</charting:Chart.Palette>
<charting:PieSeries
ItemsSource="{Binding}"
DependentValuePath="NumberOfReferrals"
IndependentValuePath="Sources"
Background="{StaticResource PhoneBackgroundBrush}"
Style="{StaticResource PieSeriesStyle1}"
LegendItemStyle="{StaticResource LegendItemStyleShown}"
Margin="0"
/>
</charting:Chart>
然后在我的app.xaml:
<SolidColorBrush x:Key="PieChartColour1" Opacity="1" Color="{StaticResource PhoneAccentColor}" />
<SolidColorBrush x:Key="PieChartColour2" Opacity="0.8" Color="{StaticResource PhoneAccentColor}" />
<SolidColorBrush x:Key="PieChartColour3" Opacity="0.6" Color="{StaticResource PhoneAccentColor}" />
<SolidColorBrush x:Key="PieChartColour4" Opacity="0.4" Color="{StaticResource PhoneAccentColor}" />
<SolidColorBrush x:Key="PieChartColour5" Opacity="0.2" Color="{StaticResource PhoneAccentColor}" />
YAY!