Вызовите PrintDialog.ShowDialog() в пользовательском элементе управления WPF, который размещен в приложении WinForms.

У меня есть WPF UserControl, который использует System.Windows.Controls.PrintDialog:

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>

CodeBehind:

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();
      }
   }
}

Если я сейчас использую этот UserControl в приложении WPF, PrintDialog-Windows появится как модальное диалоговое окно. (Как описано в MSDN)

Но если я использую UserControl в приложении Wondows-Forms, диалоговое окно отображается как немодальное диалоговое окно.

Кто-нибудь знает, как я могу вызвать PrintDialog как модальное диалоговое окно, когда я размещаю usercontrol в приложении Windows-Forms?

Благодарю вас в ожидании rhe1980

1 ответ

Решение

Решение / обходной путь, описанный здесь (на немецком языке):

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

Другие вопросы по тегам