0

我正在尝试在 WPF 应用程序中使用 WindowsFormsHost,以便可以使用一些 Windows 窗体组件。

<Grid>
    <WindowsFormsHost>

    </WindowsFormsHost>
</Grid>

这一切正常,没有错误,但是当我从 VS2008 的工具箱中拖动一个 Windows 窗体组件时,它们都变灰了。在某种程度上,这是有道理的,因为只有 WPF 组件可用。但是,如果 Windows Forms 组件全部变灰且不可用,如何将它们拖放到 WindowsFormsHost 上?

4

1 回答 1

2

我认为 WPF 设计器不支持 Windows 窗体组件。您需要在 XAML 或代码中指定这些。如何将 WinForms 按钮添加到 WPF 应用程序的简单示例。请注意,该按钮在设计图面上不可见。

<Window x:Class="DataTemplateBind.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:forms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
    Title="Window1" Height="300" Width="300">

    <WindowsFormsHost Height="200" Name="windowsFormsHost1" Width="258" >
        <forms:Button Text="Waaa :("></forms:Button>
    </WindowsFormsHost>
</Window>

xmlns:forms请注意默认情况下不存在的添加的命名空间。

于 2009-05-01T00:10:46.093 回答