добавление непрозрачности PhoneAccentBrush к круговой диаграмме панели инструментов Silverlight - PullRequest
0 голосов
/ 02 января 2011

Я работаю над приложением Windows Phone и использую круговую диаграмму - я относительно новичок в наборе инструментов управления silverlight.

Я хочу, чтобы моя круговая диаграмма использовала различные значения непрозрачности PhoneAccentBrush в качестве цветовой палитры. (т. е. если цвет акцента зеленый, тогда я использую зеленый, а затем непрозрачность 0,8,0,6,0,4,0,2 цвета в качестве паллетной диаграммы)

Я попробовал несколько вещей, но ни одна из них не сработала - кто-нибудь достиг этого, и если да, то как?

спасибо заранее Дуг

Ответы [ 2 ]

1 голос
/ 04 января 2011

Я взял то, что у меня было (это было очень похоже на сообщение школьника), и помассировал его твердыми кистями, которые я добавил в 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!

1 голос
/ 02 января 2011

Что вы пытались и почему не думаете, что он работает?

Я не слишком знаком с 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, но концепция должна быть такой же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...