Практическое руководство. Включение визуальных стилей в гибридном приложении
В этом разделе показано, как включить визуальные стили в элементе управления Windows Forms, размещенном в приложении на основе WPF.
Если приложение вызывает метод EnableVisualStyles, большинство элементов управления Windows Forms автоматически будут использовать визуальные стили. Дополнительные сведения см. в разделе Элементы управления отрисовкой с помощью визуальных стилей.
Для полного списка кода задач, показанных в этом разделе, см. Включение визуальных стилей в примере гибридного приложения.
Включение визуальных стилей Windows Forms
Включение стилей визуальных элементов Windows Forms
Создайте проект приложения WPF с именем
HostingWfWithVisualStyles
.В обозревателе решений добавьте ссылки на следующие сборки.
WindowsFormsIntegration
System.Windows.Forms
В панели инструментов дважды щелкните значок Grid, чтобы поместить элемент Grid на поверхность проекта.
В окне "Свойства" задайте значения свойств Height и Width на Авто.
В представлении конструктора или в представлении XAML выберите Window.
В окне "Свойства" щелкните вкладку "События".
Дважды щелкните событие Loaded.
В MainWindow.xaml.vb или MainWindow.xaml.cs вставьте следующий код для обработки события Loaded.
private void Window_Loaded(object sender, RoutedEventArgs e) { // Comment out the following line to disable visual // styles for the hosted Windows Forms control. System.Windows.Forms.Application.EnableVisualStyles(); // Create a WindowsFormsHost element to host // the Windows Forms control. System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost(); // Create a Windows Forms tab control. System.Windows.Forms.TabControl tc = new System.Windows.Forms.TabControl(); tc.TabPages.Add("Tab1"); tc.TabPages.Add("Tab2"); // Assign the Windows Forms tab control as the hosted control. host.Child = tc; // Assign the host element to the parent Grid element. this.grid1.Children.Add(host); }
Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs) ' Comment out the following line to disable visual ' styles for the hosted Windows Forms control. System.Windows.Forms.Application.EnableVisualStyles() ' Create a WindowsFormsHost element to host ' the Windows Forms control. Dim host As New System.Windows.Forms.Integration.WindowsFormsHost() ' Create a Windows Forms tab control. Dim tc As New System.Windows.Forms.TabControl() tc.TabPages.Add("Tab1") tc.TabPages.Add("Tab2") ' Assign the Windows Forms tab control as the hosted control. host.Child = tc ' Assign the host element to the parent Grid element. Me.grid1.Children.Add(host) End Sub
Нажмите клавишу F5, чтобы создать и запустить приложение.
Элемент управления Windows Forms окрашен с помощью визуальных стилей.
Отключение стилей визуальных элементов Windows Forms
Чтобы отключить визуальные стили, просто удалите вызов метода EnableVisualStyles.
Отключить стили визуальных элементов Windows Forms
Откройте MainWindow.xaml.vb или MainWindow.xaml.cs в редакторе кода.
Закомментируйте вызов метода EnableVisualStyles.
Нажмите клавишу F5, чтобы создать и запустить приложение.
Элемент управления Windows Forms окрашен в системный стиль по умолчанию.
См. также
.NET Desktop feedback