[英]Winforms App hosted on WPF App
我需要在WPF应用程序上托管WinForms应用程序。 我按照这里的步骤进行操作,但出现错误:
尚未处理System.Reflection.TargetInvocationException消息:发生意外事件。
怎么了? 我正在使用VS2012和.NET 4.5。 WinForms应用程序仅是带有Button
的Form
。 事件单击将显示一个消息MessageBox
,其中仅显示一条消息Hello World
。
我以前使用过WindowsFormsIntegration.dll,并且工作正常。 这应该可以帮助您入门。 首先添加对WindowsFormsIntegration的引用。 然后...
using System.Windows.Forms.Integration;
...
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var form = new Form1();
form.TopLevel = false;
WindowsFormsHost host = new WindowsFormsHost();
host.Child = form;
host.VerticalAlignment = System.Windows.VerticalAlignment.Top;
host.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
grid.Children.Add(host);
}
...
<Window x:Class="WpfSandbox.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
Loaded="Window_Loaded">
<Grid x:Name="grid">
</Grid>
</Window>
现在是简单的winform
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("hello");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.