Панель инструментов WPF WindowsFormsHost VS2008 выделила серым цветом все элементы управления Windows Forms.
-
03-07-2019 - |
Вопрос
Я пытаюсь использовать WindowsFormsHost в приложении WPF, чтобы использовать некоторые компоненты Windows Forms.
<Grid>
<WindowsFormsHost>
</WindowsFormsHost>
</Grid>
Все работает нормально, без ошибок, но когда я перетаскиваю компонент Windows Forms из панели инструментов в VS2008, все они становятся серыми.В некотором смысле это имеет смысл, поскольку доступны только компоненты WPF.Но как переместить компонент Windows Forms на WindowsFormsHost, если все они выделены серым цветом и недоступны?
Решение
Я не думаю, что дизайнер WPF поддерживает компоненты Windows Forms.Вам необходимо указать их в 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
пространство имен, которого нет по умолчанию.