繁体   English   中英

WPF C#添加到窗口

[英]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或直接向Grid1richTextBox1

解决方案非常简单:不要使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM