WPF是否对所有Winforms控件都具有等效的控件?

时间:2020-03-06 14:35:21  来源:igfitidea点击:

刚发现这很困难。我想弹出一个FontDialog,以允许用户选择一种字体..那些熟悉的对话框之一。

解决方案

并非所有人都具有同等学历。
例如FontDialog不会..(抱怨)。该页面具有完整的lowdown ..发布信息,因为它可能只是一个心理提示而有用。
http://msdn.microsoft.com/en-us/library/ms750559.aspx

更新:
《 WPF编程》一书对此进行了介绍。显然,某些对话框没有使用RTM总线。将在下一个更新中包含的FontDialog可以在此处使用。ColorPicker对话框也可以在此处使用。另外,我们也不应该盲目使用Win32对话框,因为WPF中的相应类型(例如,字体和颜色现在"更大更好")。

http://blogs.msdn.com/wpfsdk/archive/2006/10/26/Uncommon-Dialogs--Font-Chooser-and-Color-Picker-Dialogs.aspx

VistaBridge示例具有一些Vista对话框的包装器!

还要检查由System.Win32 Microsoft.Win32提供的包装器

[更新]`Microsoft.Win32.FileDialog

我知道到现在已有一个团队在WPF应用程序上工作了几年,他们的反馈是,就复杂的控件(高级数据网格,树视图等)而言,WPF仍然不匹配WinForms。基本控件还可以。

不幸的是,事实并非如此。但是,我们可以使用Microsoft.Win32命名空间"借用"某些Windows窗体对话框,也可以使用System.Windows.Forms.WindowsFormHost WPF元素集成Windows窗体控件。另外,我们可以通过调用构造函数,然后在其上调用ShowDialog()方法来直接显示Windows窗体对话框。

使用WindowsFormsHost嵌入Windows表单会导致很多问题,尤其是在处理渲染\可见性等时。

有些控件已经由其他控件实现,可以在WEB上找到它们,例如:

NumericUpDown
DateTimePicker
拆分按钮

当然还有新的WPFDataGrid