C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Tip: Try adding a Windows Forms control. All the classics you know and love are available—I used a Button.
ButtonNote: You must prefix the Windows Forms control's name with the "wf" namespace. This is an XML syntax feature.
Info: I specified several attributes of the Windows Forms Button. Windows Forms does not use XAML in most programs, but within WPF it does.
Example markup: XAML
<Window x:Class="WpfApplication19.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
Title="MainWindow" Height="350" Width="525">
<Grid>
<WindowsFormsHost HorizontalAlignment="Left" Height="59" Margin="10,10,0,0"
VerticalAlignment="Top" Width="163">
<wf:Button Text="Button" Top="0" Left="0" Click="Button_Click"
BackColor="AliceBlue"
ForeColor="RosyBrown"
Font="Consolas"
FlatStyle="Flat"/>
</WindowsFormsHost>
</Grid>
</Window>
Example code: C#
using System;
using System.Windows;
namespace WpfApplication19
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, EventArgs e)
{
// ... Cast as System.Windows.Forms.Button, not
// System.Windows.Controls.Button.
System.Windows.Forms.Button b = sender as System.Windows.Forms.Button;
b.Text = "Clicked";
}
}
}
So: When the user clicks on the oddly-colored Windows Forms Button, the Button_Click event handler runs.
And: The Text attribute of the Button is changed to the word "Clicked." This is not a WPF Button, which uses Content.
TextButton: WPFQuote: Use the WindowsFormsHost element to place a Windows Forms control within your WPF element or page.
WindowsFormsHost Class: Microsoft Docs