0

我正在尝试以编程方式在 WPF 工具包条形图中设置列系列的宽度。以下是现有代码。但我无法使用 ColumnDataPoint.WidthProperty 设置宽度。

任何建议都会有很大帮助!

    Style columnStyleRed = new Style(typeof(ColumnDataPoint));
    columnStyleRed.BasedOn = this.Resources["CustomStyle"] as Style;
    Setter setBackgroundRed = new Setter(ColumnDataPoint.BackgroundProperty, new SolidColorBrush(Colors.DarkRed));
    Setter setWidth = new Setter(ColumnDataPoint.WidthProperty, 20);
    columnStyleRed.Setters.Add(setBackgroundRed);

谢谢!

4

2 回答 2

0

丑陋的修复,我有同样的问题,但我的显示将是静态的,就列号而言。我在模板中硬编码了边距,增加了宽度。

   <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="DVC:ColumnDataPoint">
                <Grid>
                    <Rectangle
                                Fill="{TemplateBinding Background}"
                                Stroke="Black"
                                StrokeThickness="1"
                        Margin="0,0,-20,0"/>
                    <Grid
                                Background="Transparent"
                                Margin="0 -20 0 0"
                                HorizontalAlignment="Stretch"
                                VerticalAlignment="Top">
                        <TextBlock
                            HorizontalAlignment="Center"
                            Background="Yellow"        
                            Text="{TemplateBinding FormattedDependentValue}"
                                    FontWeight="Bold"
                            FontSize="8"
                                    Margin="5,5,-20,2"/>
                    </Grid>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
于 2014-05-05T17:36:00.547 回答
0

我尝试了同样的方法,但没有任何运气。

ATM,我在看OxyPlot,它似乎比工具包好得多。

这似乎有效:

<oxy:ColumnSeries ... ItemsSource="{Binding Items}" ... ColumnWidth="4"/>

如果需要,也可以从代码中完成。

于 2013-10-18T06:25:41.547 回答