//如果需要再WPF中显示非模态windows窗体时,需要调用此方法。
//即时不调用此方法,也仍然会显示窗体,但是不能识别所有键盘输入。
System.Windows.Forms.Integration.WindowsFormsHost.EnableWindowsFormsInterop();
当再WPF中显示windows窗体时,窗体会为按钮或其他通用控件使用旧样式(xp以前的样式)这是因为,为了支持更新的风格,必须明确调用此方法。通常Visual Studio会为每个新建的Windows窗体应用程序的Main()方法添加这行代码。然而,当创建WPF应用程序时,没有包含这一细节。为解决这个问题,只需要再显示所有Windows窗体内容之前调用此方法。当应用程序第一次启动时,是调用该方法的好时机。
System.Windows.Forms.Application.EnableVisualStyles();
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
//再WPF中显示非模态windows窗体时,需要调用此方法
System.Windows.Forms.Integration.WindowsFormsHost.EnableWindowsFormsInterop();
//启用windows from 窗体的可视样式
System.Windows.Forms.Application.EnableVisualStyles();
}
}