私はこのウィンドウを持っている:隠しウィンドウ(WPFアプリケーション)を閉じるには?私のアプリケーション(WPF)で
public partial class Window1 : Window
とXAML x:Class="WpfApplication1.Window1"
に今、私は窓1と背面にメインにしてから切り替えたとき、私たちVisibility.HiddenとVisibility.Visibleを非表示にしてユーザーに再度表示させることができます。
私が今しようとしているのは、メインウィンドウにテストボタンを作っているということです。ウィンドウ1を閉じます。 このウィンドウは非表示ですが、実際にはバックグラウンドで閉じたいと思っています。最初はを使用していますが、そのトリックはしていないようです。
これを正しい方法でどのように行う必要がありますか? ありがとうございます。
EDIT 1 - 私のメインウィンドウで、WINDOW1を開くには
質問がより明確になって、私は、ウィンドウ1で、この部分
Window1 W1 = null; // Initialise Field.
public void CalcTabel_Click(object sender, RoutedEventArgs e)
{
if (W1 == null)
{
W1 = new Window1();
W1.Hoofdmenu = this;
W1.checkLang();
W1.Show();
}
else
{
W1.checkLang();
W1.Visibility = Visibility.Visible;
}
this.Visibility = Visibility.Hidden;
}
を使用し、持って戻るボタンがあり、これでコードの切り抜き(ここでは "Hoofdmenu"メインウィンドウ):
Hoofdmenu.updateStatistics();
Hoofdmenu.Visibility = Visibility.Visible;
this.Visibility = Visibility.Hidden;
しかし、もう一度、今度はメインウィンドウに立っているので(ウィンドウ1が隠れている)私はそのウィンドウ1を閉じたいと思っていますが、W1.Close()
を使っても動作しません。だから私はそのウィンドウ1を閉じる方法を探していますではなく、はその可視性を変更します。
EDIT 2 - ソリューション
小さな変更this.W1.Close();
が実際に仕事をしたもののので、W1.Close();
はない仕事をした使用して:)
なぜあなたは隠されたウィンドウが閉じていないshureですか?あなたは何をしているのかを明確にするためにサンプルコードをもっと投稿できますか?クローズ時に行われた操作は、クローズシグナルを破棄しますか? – Beachwalker
ウィンドウ1内で、いくつかのボタンがクリックされ、その外観が変わります。ウィンドウが実際に閉じられていないことを確かめることができます。そうしないと、デフォルトにリセットされてしまい、それが起こらなかったからです。上記をもう少し編集してもう少し明確にすることができるかどうかがわかります。 – Dante1986
W1を置くことができますか?Try CatchブロックでClose()を実行し、例外をポストしますか? – Paparazzi