히포차트를 WPF 윈도우 어플리케이션에 추가해보자.
아래 코드는 히포차트 윈도우즈 폼 컨트롤을 WPF 환경에서 사용할 수 있는 샘플 코드입니다.
xaml
아래와 같이 패널안쪽에 Stretch 형태로 WindowFromHost를 추가합니다.
<DockPanel LastChildFill="true">
<WindowsFormsHost x :Name="WindowsFormsHost1" HorizontalAlignment="Stretch"Margin="0,0,0,0" VerticalAlignment ="Stretch" Width="686" Height="391" Grid.ColumnSpan="2"/>
</DockPanel>
c#
2개의 히포차트 관련 네임스페이스를 참조합니다.
아래 코드에서 중요한 것은 코드의 순서인데, this.WindowsFormsHost1 .Child = hh;와 같이 호스트 컨트롤에 추가하는 부분이 DrawChart 하는 부분보다 먼저 나와야 Sizing 트러블이 생기지 않습니다.
using System;
using System. Collections.Generic;
using System. Linq;
using System. Text;
using System. Threading.Tasks;
using System. Windows;
using System. Windows.Controls;
using System. Windows.Data;
using System. Windows.Documents;
using System. Windows.Input;
using System. Windows.Media;
using System. Windows.Media.Imaging;
using System. Windows.Navigation;
using System. Windows.Shapes;
using Hippo;
using Hippo. WindowsForm4;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
hHippoChart hh = new hHippoChart ();
public MainWindow()
{
InitializeComponent();
this.WindowsFormsHost1 .Child = hh;
}
private void Button_Click_1( object sender, RoutedEventArgs e)
{
hh .Width2 = ( float) this.WindowsFormsHost1 .Width;
hh .Height2 = ( float) this.WindowsFormsHost1 .Height;
SeriesList sList = new SeriesList ();
sList .SeriesCollection .Add( new Series());
Random R = new Random();
for ( int i = 0; i < 5 ; i++)
{
SeriesItem item = new SeriesItem ();
item .Name = "item" + i.ToString();
item .YValue = R .Next( 50);
sList .SeriesCollection[ 0] .items .Add(item);
}
hh .SeriesListDictionary .Add(sList);
hh .DrawChart();
}
}
}
|
위 코드를 사용하면 WPF 어플리케이션을 통해 히포차트의 실시간 차트 등 모든 기능을 원활하게 사용할 수 있습니다.
http://www.hippochart.com/Default.aspx
No comments:
Post a Comment