私はいくつかのイベントとしてMainWindowクラスを持っています - それらはすべて別のクラスのメソッドを呼び出す必要があります。起動時にSizeChangedイベントを避ける
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
}
}
問題MainWindow_SizeChangedイベントは、プログラムの起動時にトリガーされるが、明確な方法でもまだエラーが発生し起動、で作成されていないいくつかのオブジェクトを使用していることです。これを避けて、プログラムの実行中にサイズが実際に変更された場合にのみ、このイベントを発生させることができますか?
どのオブジェクトがまだ初期化されていないのですか? –
フラグが設定されていない限り、オブジェクトが作成され、SizeChangedハンドラではブーリアンフラグを設定します。 –