Hippochart를 WPF 윈도우 어플리케이션에 추가해보자.
히포차트를 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