我正在尝试使用wpf工具包中的ColumnSeries
构建图表,但我似乎遇到了数据绑定问题。这是xaml:
<Grid>
<chartingToolkit:ColumnSeries Height="18" HorizontalAlignment="Left" Margin="188,169,0,0" Name="columnSeries1" VerticalAlignment="Top" Width="18" IndependentValueBinding="{Binding Path=Date}" DependentValueBinding="{Binding Path=Value}" />
</Grid>
在后面的代码中,我正在调用存储过程并将结果放在DataTable
中,如下所示:
string connString = ConfigurationManager.ConnectionStrings["string"].ConnectionString;
using (SqlConnection cn = new SqlConnection(connString))
{
DataTable dt = new DataTable("T1");
cn.Open();
SqlCommand cmd = new SqlCommand("T1_sp", cn);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
columnSeries1.ItemsSource = dt.DefaultView;
cn.Close();
}
没有生成错误,但我也没有得到柱形图。如果我使用相同的命令并将其放入DataGrid
,它可以正常工作。我需要做什么才能将其纳入我的柱形图?
如果有帮助,数据表中返回的数据如下所示:
Date, type, Value
2009-10-09, abc, 12.23
2009-10-10, def, 13.35
日期应该是独立的值绑定,值应该是依赖值绑定。
答案 0 :(得分:2)
这是我的工作代码,为了清晰起见,清理了一点。也许这会有所帮助。
XAML
<charting:Chart Grid.Column="1" Grid.Row="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="Transparent" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<charting:Chart.Series>
<charting:ColumnSeries x:Name="TrendChart" ItemsSource="{Binding Trend1}" IndependentValueBinding="{Binding Date}" DependentValueBinding="{Binding Spread}">
</charting:ColumnSeries>
</charting:Chart.Series>
</charting:Chart>
背后的代码
string connString = ConfigurationManager.ConnectionStrings["string"].ConnectionString;
using (SqlConnection cn = new SqlConnection(connString))
{
DataTable dt = new DataTable("Trend1");
cn.Open();
SqlCommand cmd = new SqlCommand("Trend1_sp", cn); cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
TrendChart.ItemsSource = dt.DefaultView;
}
希望有所帮助!
答案 1 :(得分:0)
我有一个非常类似的问题,我有一点解决方案,它可能适合你。
WPF Toolkit Charting and IndependentValueBinding, IndependentValuePath