Ich mache WPFToolkit-basierte Graphen, wo ich versuche, AreaSeries jedes Mal zu aktualisieren, wenn ich auf eine Schaltfläche klicke. Ich habe INotifyPropertyChanged für meine Datenklasse implementiert. aber wenn ich die Daten im Quellobjekt-ID nachladen nicht Updates in Diagramm (Zielobjekt)So aktualisieren Sie WPFToolkit AreaSeries-Diagramm auf Schaltfläche Klicken Sie auf
der Code ist wie folgt:
public partial class MainWindow : Window
{
static List<Ready4LOS> Ready4LOS = new List<Data.Ready4LOS>();
public MainWindow()
{
InitializeComponent();
chart1.DataContext = Ready4LOS;
InitChart();
LoadData();
}
private void LoadData()
{
var path = @"zxzxzxz.log";
Ready4LOS.Clear();
List<APISTATDataModel> daa = APISTATDataModel.GetFromFile(path, new string[] { "|" }, "Ready4TOS");
List<APISTATDataModel> lastn = daa.GetRange(daa.Count - 10, 10);
foreach (APISTATDataModel d in lastn)
{
Ready4LOS.Add(new Ready4LOS() { Case = d.Current_Count, Time = d.Current_Time });
}
}
private void InitChart()
{
System.Windows.Data.Binding indi = new System.Windows.Data.Binding("Case");
System.Windows.Data.Binding dep = new System.Windows.Data.Binding("Time");
dep.Mode = System.Windows.Data.BindingMode.OneWay;
indi.Mode = System.Windows.Data.BindingMode.OneWay;
AreaSeries ares = new AreaSeries();
ares.ItemsSource = Ready4LOS;
ares.IndependentValueBinding = dep;
ares.DependentValueBinding = indi;
ares.Title = "Ready4LOS";
DateTimeAxis dta = new DateTimeAxis();
dta.Interval = 10;
dta.IntervalType = DateTimeIntervalType.Minutes;
dta.Title = "Time";
dta.Orientation = AxisOrientation.X;
// dta.Minimum = DateTime.Now.AddMinutes(-90);
// dta.Maximum = DateTime.Now;
LinearAxis yaxis = new LinearAxis();
yaxis.Minimum = 0;
yaxis.Interval = 2;
yaxis.Title = "Case";
yaxis.Orientation = AxisOrientation.Y;
yaxis.ShowGridLines = true;
chart1.Axes.Add(yaxis);
chart1.Axes.Add(dta);
chart1.Series.Add(ares);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
LoadData();
chart1.UpdateLayout();
}
}
}
das Datenmodell ist hier
Es lädt perfekt, wenn es beginnt, wie ich die LoadData() am Anfang aufgerufen habe. Das Problem ist, wenn ich auf die Schaltfläche zum Aktualisieren klicken lädt es die Daten in das Quellobjekt, aber die Daten des Zielobjekts in nicht aktualisiert, d. H. Diagramm wird nicht aktualisiert es bleibt gleich wie bei den ersten Daten.
Wow, ich wusste nie, dass .. werden auf jeden Fall versuchen, und lassen Sie – rvsingh42
Dank für die Zeit nehmen, kennen und mir helfen ... speziell für diesen jif Sie dort setzen. – rvsingh42
Kein Problem, mein Vergnügen. – jsanalytics