WPF WindowsFormsHost VS2008 Toolbox 已使所有 Windows 窗体控件变灰

发布于 2024-07-18 06:33:47 字数 340 浏览 6 评论 0原文

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

<Grid>
    <WindowsFormsHost>

    </WindowsFormsHost>
</Grid>

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

I'm trying to use WindowsFormsHost in a WPF app so I can use some Windows Forms components.

<Grid>
    <WindowsFormsHost>

    </WindowsFormsHost>
</Grid>

This all works ok with no errors, but when I go to drag a Windows Forms component from the toolbox in VS2008, they're all grayed out. In a way this makes sense as only the WPF components are available. But how do you drop a Windows Forms component onto a WindowsFormsHost if they're all grayed out and unavailable?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

香草可樂 2024-07-25 06:33:47

我认为 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 命名空间,默认情况下不存在。

I don't think WPF designer supports Windows Forms components. You need to specify these in the XAML or in code. A simple example of how to add a WinForms button into a WPF application. Note that the button isn't visible on the design surface.

<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>

Note the added xmlns:forms namespace which isn't there by default.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文