Ich habe eine MainWindow-Klasse, die als einige Ereignisse - alle von ihnen sollten eine Methode in einer anderen Klasse aufrufen.Vermeiden Sie SizeChanged Ereignis beim Start
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
getdata.MainWindow = this;
}
private void button_Click(object sender, RoutedEventArgs e)
{
getdata go = new getdata();
go.clear();
}
private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
getdata go = new getdata();
go.clear();
}
private void comboBox2_DropDownClosed(object sender, EventArgs e)
{
getdata go = new getdata();
go.clear();
}
private void MainWindow_SizeChanged(object sender, SizeChangedEventArgs e) {
getdata go = new getdata();
go.clear(); //<-this causes exception on Startup
}
}
Das Problem ist, dass die MainWindow_SizeChanged Event auch beim Start des Programms ausgelöst wird, aber die klaren Verfahren verwenden auch einige Objekte, die noch nicht bei Start erstellt, die einen Fehler verursacht. Wie kann ich dies vermeiden und dieses Ereignis nur auslösen, wenn die Größe während der Ausführung des Programms geändert wird?
Welche Objekte werden verwendet, die noch nicht initialisiert wurden? –
Legen Sie ein boolesches Flag fest, wenn die Objekte erstellt wurden, und führen Sie im SizeChanged-Handler nichts aus, wenn das Flag nicht festgelegt wurde. –