이 종류의 도표는 절대적으로 사소한 것입니다. 특별한 차트 패키지가 필요하지 않습니다 : 자원에
, 그 폭 이벤트 길이에 바인딩되는 이벤트 표시하는 DataTemplate을 정의 :
<ItemsPanelTemplate x:Key="HorizontalPanel"><DockPanel/></ItemsPanelTemplate>
:
<DataTemplate TargetType="{x:Type local:Event}">
<Border Width="{Binding EventLength}"> <!-- This sets the width -->
<Border Margin="1" Padding="1" StrokeThickness="1" Stroke="Black"
Background="{Binding EventColor}"> <!-- Actual border -->
<TextBlock Text="{Binding EventDescription}" />
</Border>
</Border>
</DataTemplate>
는 또한 수평 항목 패널 템플릿을 정의를
이제 실제 차트를 구축 간단하다 :
<ItemsControl ItemsSource="{Binding CPUs}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<DockPanel>
<TextBlock Width="100" Text="{Binding Name}" /> <!-- CPU name -->
<Rectangle Width="1" Fill="Black" /> <!-- Vertical divider -->
<ItemsControl ItemsSource="{Binding Events}" <!-- Events -->
ItemsPanel="{StaticResource HorizontalPanel}" />
</DockPanel>
</DataTemplate>
</ItemsControl.Template>
</ItemsControl>
당신이 당신의 이벤트 사이의 간격이있는 경우, 단순히 그들을 대표하는 귀하의 이벤트 컬렉션에 "간격"개체를 추가, 다음 간격에 대한 DataTemplate을 추가 :
<DataTemplate TargetType="{x:Type local:Gap}">
<UIElement Width="{Binding GapWidth}" />
</DataTemplate>
이 스크린 샷의 데이터가 실제로 무엇을 의미하는지 설명 할 수? 마찬가지로, 크기는 가로 위치와 무슨 뜻입니까? 그것은 무엇을 권할지를 아는 데 도움이 될 것입니다. 또한 www.visifire.com은 일반적으로 선호되는 WPF 차트 시스템이지만 차트 컨트롤을 살펴본 결과 이미 그 사실을 알았을 것입니다. – JustABill