Anwendung erfolgreich Fügt Daten aus dem ColumnSeries WPF-Diagramm hinzu und löscht sie, fügt jedoch nach dem Löschen nicht mehr hinzu. Wenn Sie DataContext wie zuvor an anderer Stelle als null festgelegt haben, wurde das Problem nicht behoben. Im Folgenden finden Sie Code und Dank für Ihre Unterstützung:So aktualisieren Sie das WPF Toolkit ColumnSeries-Diagramm in Echtzeit
public partial class MainWindow : Window
{
public MainWindow()
{
dataToChart = new Input();
InitializeComponent();
this.DataContext = dataToChart;
}
private void Button_Click_Clear(object sender, RoutedEventArgs e)
{
foreach (var series in columnChart.Series.OfType<Series>())
{
series.DataContext = null;
}
columnChart.Series.Clear();
dataToChart.Clear();
}
private void Button_Click_Add(object sender, RoutedEventArgs e)
{
dataToChart.Add(new KeyValuePair<string, int>("Test", 10));
}
}
Input.cs
public class Input
{
public ObservableCollection<KeyValuePair<string, int>> ValueList { get; private set; }
public Input()
{
this.ValueList = new ObservableCollection<KeyValuePair<string, int>>();
}
public void Add(KeyValuePair<string, int> data)
{
ValueList.Add(data);
}
public void Clear()
{
ValueList.Clear();
}
}
MainWindow.xaml
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
x:Class="IES_Console.MainWindow"
x:Name="wndMain" Title="IES Console" AllowsTransparency="True" WindowStyle="None" WindowStartupLocation="Manual" ResizeMode="NoResize" Background="Transparent" Foreground="{x:Null}" Loaded="Window_Loaded" Closing="Window_Closing" KeyUp="Window_KeyUp" MouseLeftButtonDown="Window_MouseLeftButtonDown" SizeChanged="Window_SizeChanged" LocationChanged="Window_LocationChanged" Icon="/IES%20Console;component/48x48.ico" MouseLeave="wndMain_MouseLeave" mc:Ignorable="d" FontFamily="Arial" Width="Auto" Height="Auto" SizeToContent="WidthAndHeight">
<Grid x:Name="MainGrid" Background="Black" ShowGridLines="False" Width="531" Height="700" VerticalAlignment="Top" HorizontalAlignment="Left">
<!--Code taken out for simplicity-->
<Grid x:Name="subFooter" Grid.Row="3" Background =" Black" Margin="0,20,0,-144">
<TextBlock x:Name="textBlock1" VerticalAlignment="top" Margin="10,10,0,0" TextWrapping="Wrap"
Text="TextBlock" Foreground="White" Width="511" Height="50"/>
<chartingToolkit:Chart Height="262" HorizontalAlignment="Left"
Margin="33,0,0,10" Name="columnChart" Title="Column Series Demo"
VerticalAlignment="Bottom" Width="360">
<chartingToolkit:ColumnSeries DependentValuePath="Value" Visibility="Visible"
IndependentValuePath="Key" ItemsSource="{Binding ValueList}" />
<chartingToolkit:Chart.LegendStyle>
<Style TargetType="Control">
<Setter Property="Width" Value="0" />
<Setter Property="Height" Value="0" />
</Style>
</chartingToolkit:Chart.LegendStyle>
</chartingToolkit:Chart>
<Button Content="Data Clear" HorizontalAlignment="Left" Margin="426,65,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click_Clear"/>
<Button Content="Data Add" HorizontalAlignment="Left" Margin="426,108,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click_Add"/>
</Grid>
</Grid>
</Window>
Das hat funktioniert, danke! –