私はここで何か非常に基本的なものを見逃しているように感じますが、私は答えを見つけることができません。WPFでの起動時に2つのウィンドウを開くにはどうすればよいですか?
私のアプリが起動すると、MainWindow.xaml
に加えて、xaml
の既存の内容に基づいて2番目のwindow
が開きます。私はコードビハインドを使用してNEW window
を作成する方法について多くを見つけましたが、別のxaml
ファイルであらかじめ定義されているwindow
を開きたいとします。
どちら
がMahAppsを使用していて、第二window
は
ControlWindow.xaml
と呼ばれ、
MainWindow.xaml
とルートに座っている
<Controls:MetroWindow x:Class=...
...
</Controls:MetroWindow>
のように定義されていることはありがとう
EDIT:
をしようapp.xaml.csのApp_Startupイベントでウィンドウを作成して表示するには、風MainWindow.xamlと同じクラスから継承した場合、Show()メソッドは使用できません。 NewWindowAは、あなたが期待するとして機能し、新しいを可能App.xaml.cs
using System.Windows;
using GalaSoft.MvvmLight.Threading;
namespace RollCallDisplayDemo
{
public partial class App : Application
{
void App_Startup(object sender, StartupEventArgs e)
{
MainWindow NewWindowA = new MainWindow();
ControlWindow NewWindowB = new ControlWindow();
}
static App()
{
DispatcherHelper.Initialize();
}
}
}
MainWindow.xaml.cs
using MahApps.Metro.Controls;
namespace RollCallDisplayDemo
{
public partial class MainWindow : MetroWindow
{
public MainWindow()
{
InitializeComponent();
}
}
}
ControlWindow.xaml.cs
using MahApps.Metro.Controls;
namespace RollCallDisplayDemo
{
public partial class ControlWindow : MetroWindow
{
public ControlWindow()
{
InitializeComponent();
}
}
}
インスタンスを作成して表示します。 NewWindowBはInitializeComponentメソッドしか使用できません。MetroWindowクラスから継承する必要があるものはありません。
をあなたは、アプリケーションの起動イベントにフックとApp.Xaml.csからできますが、その後、何でも行うことができますファイルほしいのですが、 –
それを購読した後、既存のxamlファイルを別の新しいウィンドウとして起動するにはどうしたらいいですか?コードビハインドで定義された新しいウィンドウを作成する方法がわかります。 downvoteが何であるかわからない... – Ryan
XAMLでは、あなたは**ウィンドウとその内容を定義しますが**作成しません**。とにかく 'new'演算子を使って**新しいウィンドウを作成する必要があります**。あなたの 'MainWindow'も' new'演算子によって**作成されています。あなたはそれを見ません。フレームワークはこれをあなたから隠します。 – dymanoid