[英]WPF C# adding to window
如何将System.Windows.Forms.RichTextBox()
添加到窗口或网格中。 无需添加WindowsFormsHost()
。 这是我的代码:
的.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
或直接向Grid1
的richTextBox1
?
解决方案非常简单:不要使用Windows Forms版本的控件。
而是使用System.Windows.Controls中包含的RichTextBox ,或使用WPF工具包社区版中的免费RichTextBox 。
你不能
Windows Forms和WPF是两种完全不同的技术,具有完全不同的基础结构,呈现堆栈,事件模型,输入模型等。
若要在WPF页面中承载WinForms控件,您需要一些东西来承载WinForms控件,并弥合WPF和WinForms之间的差距,编组事件等。相反,要在WinForms页面中承载WPF控件,则必须使用ElementHost类。
您可能需要考虑使用WPF的RichTextBox
控件。
另外,如果您发现WinForms RichText控件太麻烦,请考虑使用许多供应商/供应商提供的许多WPF RichText控件之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.