2

我有一个 WPF 应用程序,想默认先启动一个常规的 Windows 窗体。基本上,它将是一个选项面板。

编辑:为澄清起见,我希望 Windows 窗体是唯一自动打开的窗体。稍后我将展示 WPF 表单。

我尝试修改 App.xaml:

<Application x:Class="The_Name_Of_My.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         StartupUri="Form1.cs">
<Application.Resources>

我收到一个错误:“找不到资源 'form1.cs'。” 当我应该在 WPF 中制作选项面板时,我是否只是在这里旋转我的轮子并试图做一些愚蠢的事情?

4

2 回答 2

3

只需在 WPF Form's/Viewmodels 构造函数中实例化 Windows 窗体并调用 ShowDialog:

namespace WpfApplication11
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            var form1 = new Form1();
            form1.ShowDialog();

            Close();
        }
    }
}
于 2013-07-24T16:13:54.040 回答
0

我在默认加载 Windows_Form_Application 时遇到同样的问题。但答案如下......只需在您的项目中添加一个 Windows_Form 并将下面的代码替换为 MainWindow.xaml.cs

    public MainWindow()
    {
        InitializeComponent();

        //Make WPF form unvisible
        this.AllowsTransparency = true;
        this.Background = null;
        this.WindowStyle = WindowStyle.None;

        //Run windows from
        Form1 u = new Form1();
        u.Show();
        //Set close handle to form
        u.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
    }

    private void Form1_FormClosing(object sender, EventArgs e)
    {
        //close WPF form if windows form being close
        this.Close();
    } 

而已...

于 2015-12-04T15:50:49.160 回答