我正在尝试以编程方式在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);
谢谢!
答案 0 :(得分:0)
我尝试了同样没有任何运气。
ATM,我在看OxyPlot,它看起来比工具包好多了。
这似乎有效:
<oxy:ColumnSeries ... ItemsSource="{Binding Items}" ... ColumnWidth="4"/>
如果需要,也可以从代码中完成。
答案 1 :(得分: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>