2011-12-22 46 views
0

有没有办法调用使用WPF中的C#代码创建的Visiblox Chart调用在wpf中使用c#代码创建的visiblox图表

比方说,我创建了像图:

private Chart CreateNewChart(int num_chart, string chartName) 
{ 
    Chart newChart = new Chart(); 
    newChart.Name = "Chart_"+num_chart; 
    newChart.Title = chartName; 
    newChart.Width = 600; 
    newChart.Height = 120; 
    newChart.Background = Brushes.Transparent; 
    newChart.HorizontalAlignment = HorizontalAlignment.Left; 
    newChart.VerticalAlignment = VerticalAlignment.Top; 
    newChart.Margin = new Thickness(0, (num_chart * 110), 0, 0); 
    BehaviourManager behaviour = new BehaviourManager(); 
    behaviour.AllowMultipleEnabled = true; 
    TrackballBehaviour track = new TrackballBehaviour(); 
    ZoomBehaviour zoom = new ZoomBehaviour(); 
    behaviour.Behaviours.Add(track); 
    behaviour.Behaviours.Add(zoom); 
    newChart.Behaviour = behaviour; 
    return newChart; 
} 

而当我输入一些日期从CSV文件,我想从另一个CSV文件中添加更多的数据。有没有办法用这个名字创建Chart

在此先感谢。

回答

1
<Window x:Class="ThingNamespace.MainWindow" 
    xmlns:ctest="clr-namespace:ThingNamespace" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:charts="clr-namespace:Visiblox.Charts;assembly=Visiblox.Charts" 
    Title="MainWindow" Height="400" Width="600" x:Name="TheWindow"> 

    <charts:Chart x:Name="myChart" /> 
</window> 

然后在你的代码隐藏“myChart”将可用,你可以做图表的所有安装和配置在主窗口的方法:

public MainWindow() 
{ 
    InitializeComponent(); 
    myChart.Title = chartTitle; 
    myChart.Width = 600; 
    myChart.Height = 120; 
    ... 
} 

等“myChart”将范围限定为你的MainWindow类,所以你可以做任何你需要设置你图表的辅助方法。

但是,在代码背后做所有事情并不是WPF的方式,WPF的方式是在XAML中设置大部分或全部。您可以在他们的网站上看到如何通过XAML控制图表的示例。 http://www.visiblox.com/examples/LineChart

+0

我的练习是创建一个程序,每当我按下一个按钮时,我都会动态创建一个名为import的拖动按钮的visiblox聊天,另一个命名为more ...我现在可以动态地使用c#生成尽可能多的我想线图,并把它们放在一个网格与他们的按钮..当我按导入一切都很好,但是当我想从另一个文件中添加更多的线条在图表中,我想知道如何从一个特定的按钮调用用一个名称与te图表相同的名称来再次实例化图表并添加更多行......谢谢 – Anaisthitos 2011-12-22 14:20:25

0

如果我明白你的要求是正确的,你不会通过它的Name属性来引用Chart对象 - 这实际上只有当你在UI中添加它时才会这样做。相反,您可以将对象存储在某处(全局变量,对象集合等),然后直接从该存储中调用对象。

+0

不,我的意思是:用csv文件的数据与代码创建一个图表,并把它放在一个网格中。然后用一个按钮解析来自另一个csv文件的一些数据,并将它们动态地导入到以前的图表中......如果它是在xaml中,那么绑定之类的东西很容易,但现在它全部是用c#代码从头开始创建的。 – Anaisthitos 2011-12-22 14:15:59

相关问题