1

ShutdownModeアプリを切り替えて、OnExplicitShutdownウィンドウを閉じてもアプリがまだ機能していて、次のようにウィンドウを再度開いてみます。

new MainWindow().Show;

しかし、次のエラーがあります:Set property '...ViewModelLocator.AutoWireViewModel' threw an exception.そして、次のとおりInnerExceptionです:'AutoWireViewModel' property was already registered by 'ViewModelLocator'

これを修正する方法はありますか?

ViewModelLocatorから使っていますMicrosoft.Prism

4

1 に答える 1

1

Window残念ながら、閉じた後に再び開くことはできません。ただし、「ふりをして」少し欺くことができます...Window最初から閉じるのではなく、何度でも非表示にして再表示できるため、単純に非表示にすることができます。

YourWindow.Visibility = Visibility.Collapsed;

Eventにイベント ハンドラーをアタッチすることで、この状況を少し改善できます。この特定のイベントは、操作をキャンセルする方法を提供するため、この時点で代わりに非表示にすることができます。Window.ClosingClose

private void Window_Closing(object sender, CancelEventArgs e)
{
    // Cancel Window closing 
    e.Cancel = true;
    // Hide Window instead
    YourWindow.Visibility = Visibility.Collapsed;
}

必要に応じて、メソッドを使用してこの機能をWindowコード ビハインド内に配置することもできます。Window.OnClosing

于 2014-09-30T15:06:34.650 に答える