在WinFMS应用程序中托管的WPF UserControl中调用PrintDialog.ShowDialog()

时间:2012-10-30 13:29:10

标签: c# wpf winforms printdialog windowsformsintegration

我有一个使用System.Windows.Controls.PrintDialog的WPF UserControl:

XAML:

<UserControl x:Class="WpfControlLibrary1.UserControl1"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">    
   <Button Click="Button_Click"/>
</UserControl>

代码隐藏:

namespace WpfControlLibrary1
{
   using System.Windows;
   using System.Windows.Controls;

   public partial class UserControl1 : UserControl
   {
      public UserControl1()
      {
         InitializeComponent();
      }

      private void Button_Click(object sender, RoutedEventArgs e)
      {
         var printer = new PrintDialog();
         printer.ShowDialog();
      }
   }
}

如果我现在在WPF应用程序中使用此UserControl,PrintDialog-Windows将显示为模式对话框。 (如msdn所述)

但是如果我在Wondows-Forms应用程序中使用UserControl,该对话框将显示为非模态对话框。

当我在Windows窗体应用程序中托管usercontrol时,如何知道如何将PrintDialog称为模态对话框?

感谢您的期待 rhe1980

1 个答案:

答案 0 :(得分:0)

此处描述的解决方案/解决方法(德语):

http://mobilesolutions.noser.com/2013/01/winforms-meets-wpf-meets-winforms-meets-wpf-2/