【问题标题】:Binding the DataPoint color绑定 DataPoint 颜色
【发布时间】:2014-07-04 03:37:22
【问题描述】:

以下是我用于 LineSeries 的 DataPointStyle 的样式:

<Style x:Key="LineDataPointStyle" TargetType="chrt:LineDataPoint">
    <Setter Property="Background" Value="#0077CC" />
    <Setter Property="BorderBrush" Value="White" />
    <Setter Property="BorderThickness" Value="2" />
    <Setter Property="IsTabStop" Value="False" />
    <Setter Property="Height" Value="10" />
    <Setter Property="Width" Value="10" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="chrt:LineDataPoint">
                <Grid x:Name="Root" Opacity="1">
                    <ToolTipService.ToolTip>
                        <StackPanel Margin="2,2,2,2">
                            <ContentControl Content="{TemplateBinding IndependentValue}" ContentStringFormat="X-Value: {0:HH:mm:ss}"/>
                            <ContentControl Content="{TemplateBinding DependentValue}" ContentStringFormat="Y-Value: {0:###.###}"/>
                        </StackPanel>
                    </ToolTipService.ToolTip>
                    <Ellipse StrokeThickness="{TemplateBinding BorderThickness}" Stroke="{TemplateBinding BorderBrush}" Fill="{TemplateBinding Background}"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

我不想硬编码 Background 属性,而是想在运行时设置它。如何将背景绑定到 LineSeries 的背景?

【问题讨论】:

  • 您想根据您的属性更改背景吗?你可以使用触发器来做到这一点
  • @nit :我正在为 DataPoint 定义一个默认样式。但是如果图表中有多个系列,线条的颜色应该是可设置的

标签: c# wpf wpftoolkit


【解决方案1】:

试试下面的解决方法。

资源

 <Window.Resources>
    <Style x:Key="DataPointStyle" TargetType="chartingToolkit:DataPoint">
        <Setter Property="Background" Value="{DynamicResource ChartLineColor}"/>
        <Setter Property="BorderThickness" Value="2"/>
        <Setter Property="BorderBrush" Value="White"/>
        <Setter Property="IsTabStop" Value="False"/>
        <Setter Property="Height" Value="10" />
        <Setter Property="Width" Value="10" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="chartingToolkit:LineDataPoint">
                    <Grid x:Name="Root" Opacity="1">
                        <ToolTipService.ToolTip>
                            <StackPanel Margin="2,2,2,2">
                                <ContentControl Content="{TemplateBinding IndependentValue}" ContentStringFormat="Date : {0}"/>
                                <ContentControl Content="{TemplateBinding DependentValue}" ContentStringFormat="Count : {0:###,###,###}"/>
                            </StackPanel>
                        </ToolTipService.ToolTip>
                        <Ellipse StrokeThickness="{TemplateBinding BorderThickness}" Stroke="{TemplateBinding BorderBrush}" Fill="{TemplateBinding Background}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>

xaml

 <Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <chartingToolkit:Chart x:Name="LineChart" Title="Demo Chart">
        <chartingToolkit:LineSeries  DependentValuePath="Value" DataPointStyle="{StaticResource DataPointStyle}" IndependentValuePath="Key" ItemsSource="{Binding}"  IsSelectionEnabled="True">
            <chartingToolkit:LineSeries.Resources>
                <SolidColorBrush x:Key="ChartLineColor" Color="Green"/>
            </chartingToolkit:LineSeries.Resources>
        </chartingToolkit:LineSeries>
    </chartingToolkit:Chart>

    <chartingToolkit:Chart x:Name="LineChart1" Grid.Column="1" Title="Demo Chart">
        <chartingToolkit:LineSeries  DependentValuePath="Value" DataPointStyle="{StaticResource DataPointStyle}" IndependentValuePath="Key" ItemsSource="{Binding}"  IsSelectionEnabled="True">
            <chartingToolkit:LineSeries.Resources>
                <SolidColorBrush x:Key="ChartLineColor" Color="Red"/>
            </chartingToolkit:LineSeries.Resources>
        </chartingToolkit:LineSeries>
    </chartingToolkit:Chart>
</Grid>

结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-11
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 2021-11-10
    • 1970-01-01
    • 2012-06-20
    相关资源
    最近更新 更多