2015-03-11 5 views
0

Как я могу добавить System.Windows.Forms.RichTextBox() к моему окну или сетке. Без необходимости добавить WindowsFormsHost(). Вот мой код:WPF C# добавление в окно

.xaml

   <Grid Name="Grid1"> 
      </Grid> 
     </Window> 

.xaml.cs

 Host1 = new WindowsFormsHost(); 
     Host1.Margin = new Thickness(8, 12, 3, 3); 
     Host1.Height = 315; 
     Host1.Width = 570; 
     Host1.VerticalAlignment = System.Windows.VerticalAlignment.Top; 
     Host1.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; 

     richTextBox1 = new System.Windows.Forms.RichTextBox(); 
     richTextBox1.Height = 315; 
     richTextBox1.Width = 570; 
     richTextBox1.TextChanged += new EventHandler(richTextBox1_TextChanged); 

     Host1.Child = richTextBox1; 
     Grid1.Children.Add(Host1); 

Я хочу, чтобы удалить мой Host1 это делает код слишком хлопотно. Как я могу добавить прямо в окно richTextBox1 или непосредственно на Grid1richTextBox1?

ответ

2

Решение довольно просто: не используйте версию элемента управления Windows Forms.

Вместо этого воспользуйтесь RichTextBox, включенным в System.Windows.Controls, или free RichTextBox из Community Edition инструментария WPF.

2

Вы не можете.

Windows Forms и WPF это две совершенно разные технологии с совершенно различными инфраструктурами, оказание стеков, модели событий, моделей входных данных и т.д.

Для размещения WinForms управления на страницах WPF, вам нужно что-то провести контроль WinForms (s) и устранить пробелы между WPF и WinForms, событиями сортировки и т. д. И наоборот, для размещения элементов управления WPF на страницах WinForms вы должны использовать класс ElementHost.

Возможно, вы захотите рассмотреть возможность использования WPF RichTextBox.

Альтернативно, если вы обнаружите, что элемент управления WinForms RichText слишком хлопотный, рассмотрите возможность использования одного из многих элементов управления WPF RichText, доступных от нескольких поставщиков/источников.

+0

Есть ли 'control()' версия 'windowsformhose()'? – user3034706

+0

На самом деле вы знаете, как реализовать его с помощью 'ElementHost'? – user3034706

+0

Почему вы хотите использовать элемент управления WinForms RichText, а не WPF? –

Смежные вопросы