数据集绑定到图表

我有,我想绑定到图表数据表2列。 的Visifire示例显示了例如使用的ObservableCollection但我不知道如何与数据表到的ObservableCollection(我认为这是我的问题)。 我创建了一个样本可视化。 我使用的Visifire的图表。

public MainWindow() { InitializeComponent(); dtBandwidth = dsBandwidth.Tables.Add(); dtBandwidth.Columns.Add("ID", typeof(int)); dtBandwidth.Columns.Add("Time", typeof(double)); dtBandwidth.Columns.Add("Value", typeof(double)); dataGrid1.ItemsSource = dtBandwidth.DefaultView; DataSeries ds = new DataSeries(); ds.RenderAs = RenderAs.Line; ds.DataSource = dtBandwidth???; //i know this is wrong. what should i do? DataMapping dm = new DataMapping(); dm.MemberName = "XValue"; dm.Path = "Time"; ds.DataMappings.Add(dm); dm = new DataMapping(); dm.MemberName = "YValue"; dm.Path = "Value"; ds.DataMappings.Add(dm); chart1.Series.Add(ds); chart1.DataContext = dtBandwidth???; //i know this is wrong. what should i do? } private void button1_Click(object sender, RoutedEventArgs e) { dtBandwidth.Rows.Add(1, 1.0, 5.2); dtBandwidth.Rows.Add(2, 2.1, 5.1); dtBandwidth.Rows.Add(3, 3.2, 5.3); dtBandwidth.Rows.Add(4, 4.3, 5.4); dtBandwidth.Rows.Add(5, 5.4, 5.5); }

这里是XAML。

<Grid> <DataGrid AutoGenerateColumns="True" Height="311" HorizontalAlignment="Left" Name="dataGrid1" VerticalAlignment="Top" Width="143" /> <my:Chart HorizontalAlignment="Left" Margin="149,0,0,0" Name="chart1" VerticalAlignment="Top" Height="311" Width="354" /> <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="186,328,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" /> </Grid>

我曾尝试向官方的Visifire论坛,但支持的人只是普通懒惰(这跟我看样品时,我没有告诉他们我已经看的样品。另外,代码的部分从样品复制) 。

这样的事情让我想的Visifire沟并有很好的文档和支持寻找替代较好。 任何建议都欢迎。

--------------解决方案-------------

http://www.visifire.com/silverlight_examples_details.php?id=10

如果你看看上面的例子可以看出DataSeries那DataSource属性设置为网格的ItemsSource这只不过是一个集合(价值类的ObservableCollection)。

数据源=“{绑定的ItemsSource,的ElementName = MyGrid}”

所以,你需要设置DataSeries的DataSource属性为行(只是一个表)的集合。

ds.DataSource = dtBandwidth.Tables [0] .DefaultView;

结帐下面的示例代码。

/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();

DataSet dtBandwidth = new DataSet();
dtBandwidth.Tables.Add("BandWidth");
dtBandwidth.Tables[0].Columns.Add("ID", typeof(int));
dtBandwidth.Tables[0].Columns.Add("Time", typeof(double));
dtBandwidth.Tables[0].Columns.Add("Value", typeof(double));

dtBandwidth.Tables[0].Rows.Add(new object[] { 2, 1, 5 });
dtBandwidth.Tables[0].Rows.Add(new object[] { 2, 2, 25 });

DataSeries ds = new DataSeries();
ds.RenderAs = RenderAs.Line;

ds.DataSource = dtBandwidth.Tables[0].DefaultView;

DataMapping dm = new DataMapping();
dm.MemberName = "XValue";
dm.Path = "Time";
ds.DataMappings.Add(dm);
dm = new DataMapping();
dm.MemberName = "YValue";
dm.Path = "Value";
ds.DataMappings.Add(dm);

chart1.Series.Add(ds);

}
}

XAML:

<Window x:Class="WpfApplication3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
xmlns:vc="clr-namespace:Visifire.Charts;assembly=WPFVisifire.Charts">
<Grid>
<vc:Chart Name="chart1" Width="500" Height="300" Padding="10,10" Margin="10,0" AnimatedUpdate="True">
</vc:Chart>
</Grid>

分类:WPF 时间:2012-01-01 人气:1
分享到:

相关文章

  • WPF绑定数据表中重复的用户控件 2012-03-26

    我在自学WPF的过程中,我遇到了一个小问题,我无法找到答案. 我的测试应用程序允许图像文件被投进的StackPanel. 一旦图像被丢弃,一个新的用户控制被添加到堆栈中,并显示有关该文件的一些元数据. 所有工作正常,我可以遍历子控件检索值. 我宁愿能够做的就是让用户将此数据持久化到一个文件,这样他们就可以暂停工作的数据. 对我来说,做到这一点最明显的方法是将数据存储在一个DataTable和连载/它deserialise到XML. 但是,我不知道如何从一个DataTable或DataSet对象驱

  • WPF绑定数据表列的文本框 2014-10-22

    我开始使用WPF和发现它很难得到,即使是最简单的绑定工作. 下面是一些吉文... 我有查询现有数据库,并返回"数据表"对象的对象,将数据回来(和用于测试的目的,仅单个行和称为"MyTextColumn"单柱) 数据表是不是"强类型",因为我在其他地方尝试强制强类型对象的问题读过. 我想了解从后台代码的角度来看的底层机制,而不是从XAML的观点. 从阅读,显然你不能直接绑定到数据表,但你可以到一个DataTable对象的"默认视图&quo

  • WPF数据绑定 - 数据好充分的解释结合 2014-04-25

    有很多的前奏来绑定在那里. 但他们留下了大量的数据绑定选项. 有谁知道一个很好的参考/指导文件/是经过最重要的WPF数据绑定选项? --------------解决方案------------- MSDN的数据绑定概述页面确实涵盖了WPF的数据绑定的每一个方面. 当然,你必须遵循的链接了解详情,但每个主题至少提到(链接到更多的细节),其单页上. 其中包括有关机制的细节,基本概念,转换,验证,模板和调试.

  • WPF数据绑定 - 数据模板是没有得到的值 2013-05-24

    我有以下的DataTemplate: <DataTemplate DataType="{x:Type Client:WorkItem}"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="A

  • WPF数据绑定和从SQL数据表 - 需要一些想法 2013-12-14

    我有很多的一些WPF的窗口. 对他们我写一些代码,结合UI控件和数据,这样的事情: public class AddressWindow { public string AddressID { get; set; } public string Addr1 { get; set; } public string Addr2 { get; set; } public string ZIP { get; set; } public string City { get; set; } public s

  • 在WPF / Silverlight中:是否可以绑定一个数据表或XML文件到ListView? 2013-12-01

    是否有可能在WPF绑定一个数据矩阵(数据表或XML文件)到ListView? 考虑下面的XML数据集: <data> <cols> <col name="FirstName" /> <col name="LastName" /> <col name="Age" /> </cols> <rows> <row> <col>Huey</co

  • 数据网格在WPF和SQL数据表VS其他方法 2013-12-11

    以下是我试图做的.我想提供一个DataGrid中的产品的到位编辑. 首先,我裹成的ObservableCollection一个List<Product>和实施INotifyPropertyChanged接口为每个POCO. 撤销变更和跟踪什么,以犯下改变似乎很难和我有很多问题.还我觉得对于每一个POCO创造如此多的事件处理程序时的属性改变的是不是好怪... 所以,我问不DataTable中解决这些问题? 即使它解决了什么有关验证?它不知道该POCO什么....是任何其它的更好的解决方案? --

  • 数据绑定,数据集datarelations,并且从DB清爽的单数据表 2012-01-31

    概括地说:我有一个内部的多个数据表,它是通过多个DataRelations连接的数据集. 我已经创建了使用数据绑定在该数据集的一种形式,你可以说这是相当复杂的. 该方案是下一个:表单的主要目的,是一个新的记录插入. 对于其插入,各种亲子关系必须设置. 这一切都正常工作与数据绑定,但问题是下一:当用户想进入一个新的"儿童"亲子之一的那些关系,新形式的打开,他进入了,亚达内容十分重要, - 它作品. 麻烦的是 - 我应该如何获取新的数据回原来的形式,出现在亲子组合框? 我知道的一个方法,就

  • 根据不同的值WPF DataGrid单元格的更改背景时,用数据表作为IListSource填充 2012-05-19

    我见过类似的帖子是这样 然而,他们似乎并没有回答我的问题. 我有一个WPF应用程序中的XAML数据网格 <DataGrid AutoGenerateColumns="True" Grid.Row="1" AlternationCount="2" HeadersVisibility="Column" Name="dgSkillsMatrix" Margin="0,0,0,1" Hor

  • 无法数据表中的数据绑定到GridView 2012-08-27

    ASP.NET中使用C#.NET; 3.5F / W 嗨,我有一个数据表如下: Location Dotnet Java Others Total Hyd 20 25 10 55 Blore 40 30 10 80 Hyd 65 15 05 85 Hyd 20 20 10 55 我想设置列标题位置,DOTNET,JAVA,其他人,共为上表到GridView列标题. 在上表中数值的地方如我在网格文本框. 我想我的数据表中的数据绑定到GridView. 我的问题是无法将数据绑定到自eventhoug

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.936 (s). 10 q(s)