winformアプリケーションの内部から起動しているWPFウィンドウがあります。私はそのWPFウィンドウの一度のインスタンスを一度に開くことができるようにしたいだけで、再度開くとそのユーザーに警告しません。一度に1つのWPFウィンドウしか開いていないことを確認するにはどうすればよいですか?
ウィンドウがwinformから起動されているため、WPFウィンドウが開いていることを検索しようとすると問題が発生します。私はnormalyやっていることはWinフォームを検索するとき、私はApplication.Current.OpenForms
に既存のものWinフォームのいずれかのインスタンスを検索し、WPFで私はApplication.Current.Windows
を検索するときに私が持っている問題は、内部から起動するときSystem.Windows.Application.Current
がnullであるということですWPFウィンドウをそのように検索することはできません。開いているウィンドウの既存のインスタンスを検索する方法はありますか?
マイコード:
if (System.Windows.Application.Current != null)
{
foreach (System.Windows.Window win in System.Windows.Application.Current.Windows)
{
if (win is frmCaseWpf)
{
MessageBox.Show("You may have only one active case open at a time.", "Open Case",
MessageBoxButtons.OK,
MessageBoxIcon.Stop);
win.WindowState = System.Windows.WindowState.Normal;
win.Focus();
win.Activate();
return;
}
}
}
'this.OpenWindow'は存在しません。代わりがありますか? – valsidalv