Windows 窗体控件和 WPF 等效控件

许多 Windows 窗体控件具有等效的 WPF 控件,但某些 Windows 窗体控件在 WPF 中没有等效项。 本主题比较两种技术提供的控件类型。

始终可以使用互操作功能来托管在基于 WPF 的应用程序中没有等效组件的 Windows 窗体控件。

下表显示了哪些 Windows 窗体控件和组件具有等效的 WPF 控件功能。

Windows 窗体控件 WPF 等效控件 言论
BindingNavigator 没有等效控件。
BindingSource CollectionViewSource
Button Button
CheckBox CheckBox
CheckedListBox 使用ListBox进行组合。
ColorDialog 没有等效控件。
ComboBox ComboBox ComboBox 不支持自动完成。
ContextMenuStrip ContextMenu
DataGridView DataGrid
DateTimePicker DatePicker
DomainUpDown TextBox 和两个 RepeatButton 控件。
ErrorProvider 没有等效控件。
FlowLayoutPanel WrapPanelStackPanel
FolderBrowserDialog 没有等效控件。
FontDialog 没有等效控件。
Form Window Window 不支持子窗口。
GroupBox GroupBox
HelpProvider 没有等效控件。 没有 F1 帮助。 “What's This”帮助被工具提示所取代。
HScrollBar ScrollBar 滚动内置于容器控件中。
ImageList 没有等效控件。
Label Label
LinkLabel 没有等效控件。 可以使用 Hyperlink 类在流内容中托管超链接。
ListBox ListBox
ListView ListView ListView 控件提供只读详细信息视图。
MaskedTextBox 没有等效控件。
MenuStrip Menu Menu 控件样式可以近似 System.Windows.Forms.ToolStripProfessionalRenderer 类的行为和外观。
MonthCalendar Calendar
NotifyIcon 没有等效控件。
NumericUpDown TextBox 和两个 RepeatButton 控件。
OpenFileDialog OpenFileDialog OpenFileDialog 类是 Win32 控件周围的 WPF 包装器。
PageSetupDialog 没有等效控件。
Panel Canvas
PictureBox Image
PrintDialog PrintDialog
PrintDocument 没有等效控件。
PrintPreviewControl DocumentViewer
PrintPreviewDialog 没有等效控件。
ProgressBar ProgressBar
PropertyGrid 没有等效控件。
RadioButton RadioButton
RichTextBox RichTextBox
SaveFileDialog SaveFileDialog SaveFileDialog 类是 Win32 控件周围的 WPF 包装器。
ScrollableControl ScrollViewer
SoundPlayer MediaPlayer
SplitContainer GridSplitter
StatusStrip StatusBar
TabControl TabControl
TableLayoutPanel Grid
TextBox TextBox
Timer DispatcherTimer
ToolStrip ToolBar
ToolStripContainer 使用组合 ToolBar
ToolStripDropDown 使用组合 ToolBar
ToolStripDropDownMenu 使用组合 ToolBar
ToolStripPanel 使用组合 ToolBar
ToolTip ToolTip
TrackBar Slider
TreeView TreeView
UserControl UserControl
VScrollBar ScrollBar 滚动内置于容器控件中。
WebBrowser FrameSystem.Windows.Controls.WebBrowser Frame 控件可以托管 HTML 页面。

从 .NET Framework 3.5 SP1 开始,System.Windows.Controls.WebBrowser 控件可以托管 HTML 页面,还可以支持 Frame 控件。

另请参阅