【问题标题】:adding opacity's of the PhoneAccentBrush to a Silverlight toolbox pie chart将 PhoneAccentBrush 的不透明度添加到 Silverlight 工具箱饼图
【发布时间】:2011-01-04 13:18:03
【问题描述】:

我正在开发一个 Windows Phone 应用程序并且我正在使用饼图 - 我对 silverlight 控制工具箱比较陌生。

我想让我的饼图使用PhoneAccentBrush 的不同不透明度作为它的调色板。 (即,如果强调色是绿色,那么我使用绿色,然后使用颜色的 0.8,0.6,0.4,0.2 不透明度作为我的饼图调色板)

我尝试了一些方法,但都没有奏效 - 有没有人做到这一点?如果有,如何做到?

提前致谢 道格

【问题讨论】:

    标签: silverlight windows-phone-7


    【解决方案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,但概念应该是相同的。

    【讨论】:

    • 在您的示例中,所有颜色都是相同的,还是我遗漏了什么?
    【解决方案2】:

    我拿走了我拥有的东西(它与流氓的帖子非常相似)并用我添加到 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}" />
    

    耶!

    【讨论】:

      猜你喜欢
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2023-03-11
      • 2018-07-15
      相关资源
      最近更新 更多