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