3

私はここで述べたのとかなり同じサンプルを持っています。速い結論: MainWindow は、最後の子ウィンドウが閉じられると閉じます。

私の問題: 記載されている解決策では問題を解決できませんでした。それが行われるプログラムを作成することはできません。私のより大きなプログラムの1つだけです。誰かがアイデアを持っているか、それ以上のステップを知っているかもしれません。

読んでくれてありがとう - トーマス

リクエストに応じて、ここにコードを少し示します。これは MainWindow の一部です。

bool editAfterSearch = false;
Movie selectedMovie = (Movie)this.listView.SelectedItem;
Movie backup = (Movie)selectedMovie.Clone();            

if (new OnlineSearchWindow().EditMovieViaOnlineSearch(ref selectedMovie, out editAfterSearch))
{
    this.coverFlow.Update(selectedMovie);
}

それが ChildWindow の一部です。

public bool EditMovieViaOnlineSearch(ref Movie preset, out bool editAfter)
{
    this.exitWithOk = false;
    this.editMovieAfterSearch = false;

    this.tbx_SearchTerm.Text = preset.Title;
    this.linkedMovie = preset;

    this.ShowDialog();

    editAfter = editMovieAfterSearch;

    if (this.exitWithOk)
    {
        this.linkedMovie.CloneOnlineInformation(ref preset);
        preset.Bitmap = this.linkedMovie.Bitmap;

        return true;
    }
    else
    {
        return false;
    }
}
4

3 に答える 3

9

ShutDownModeのプロパティで遊んでみてくださいApp.xaml.cs。3つの値は、、、OnMainWindowCloseおよびOnLastWindowCloseOnExplicitShutdownあり、デフォルトはOnLastWindowClose

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);

        this.ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose;
    }
}
于 2011-10-05T13:42:15.363 に答える
0

子ウィンドウallowShutDownをに設定してから、メインウィンドウfalseを表示してみてください。mainwindow の可視性を に設定して開始すると仮定していますhidden

Application.Current.MainWindow.Visibility = System.Windows.Visibility.Visible;
this.allowShutDown = false;  

これは、イベントallowShutDownを処理できるようにするために設定できる独自のプロパティになります。closing

于 2012-06-18T15:12:06.167 に答える