Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在XAML文件中使用WinForms主机或将其放入WPF项目的工具箱中_C#_.net_Wpf_Winforms_Xaml - Fatal编程技术网

C# 如何在XAML文件中使用WinForms主机或将其放入WPF项目的工具箱中

C# 如何在XAML文件中使用WinForms主机或将其放入WPF项目的工具箱中,c#,.net,wpf,winforms,xaml,C#,.net,Wpf,Winforms,Xaml,我已经阅读了如何在WPF的窗口中嵌入表单的教程,我测试了它,看起来很简单。但问题是我在.cs文件中以编程方式创建了winformhost。这对我来说是不合适的 我想把它放在XAML中,以便更好地控制它的大小。如果可能的话,我也想将WinFormshost添加到工具箱中我不知道您为什么要这样做。。但无论如何,因为Winform是一个顶级控件 public partial class MainWindow : Window { Form1 frm = null; public Ma

我已经阅读了如何在
WPF的
窗口中嵌入
表单的教程,我测试了它,看起来很简单。但问题是我在
.cs
文件中以编程方式创建了
winformhost
。这对我来说是不合适的


我想把它放在XAML中,以便更好地控制它的大小。如果可能的话,我也想将
WinForms
host添加到工具箱中

我不知道您为什么要这样做。。但无论如何,因为Winform是一个顶级控件

public partial class MainWindow : Window
{

    Form1 frm = null;
    public MainWindow()
    {
        InitializeComponent();

        frm = new Form1();
        frm.TopLevel = false;
    }

    private void frmMain_Loaded(object sender, RoutedEventArgs e)
    {
        myHost.Child = frm;
    }
}
快乐编码

这是XAML的伴奏

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" WindowState="Maximized">
    <Grid x:Name="frmMain" Background="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}" Loaded="frmMain_Loaded">
    <DockPanel LastChildFill="True">
    <WindowsFormsHost x:Name="myHost" HorizontalAlignment="Stretch" Height="Auto" Margin="0" VerticalAlignment="Stretch" Width="Auto"/>
    </DockPanel>
    </Grid>
</Window>


试试看。。。我向你保证它是有效的,你想要它干什么?specifically@HighCore谢谢你的回答。如果你想知道需要什么,我可以给你发电子邮件。我不想离题,我确切地知道我需要什么。我需要/想要/希望能够从xaml级别添加
WinForms主机
。如果你能做到这一点,你能发布一个小教程作为答案吗?@HighCore这样更好吗?没有理由在尝试之前降低答案的评分:)这真的管用。天哪,我喝醉了吗?我在你的答案中没有看到XAML。我只能看到过程性的
C#
code。你能解释一下为什么在你的cs(C#)文件中使用class
Form1