我已经用C#编写了媒体播放器应用程序,并且想知道是否有任何方法可以使用WPF更改表单的边框,而无需将整个项目转换为WPF。我这样问是因为我只有2天半的时间来改变边界,我不认为在这段时间内将整个项目转换是可能的(我不认为2天会很长足以了解WPF端口所需的数量)。尝试在C#中更改边框会更简单吗?将WinForms表单转换为WPF
回答
首先,删除窗体的边框。
form.FormBorderStyle = FormBorderStyle.None;
然后,将表单的背景更改为您创建的图像中具有自定义边框的图像。
form.BackgroundImage = image;
这会让你在短期内需要的地方。从长远来看,如果这是您将要维护和添加功能的项目,您最好咬住子弹并切换到WPF。
不知道如果这是可行的,它仍然必须有常规关闭,最大化和最小化按钮。如果边界消失了,那些人会被保留吗? – Br0k3nL1m1ts 2013-04-08 19:48:57
您可以随时设计自己的按钮并将它们放置在窗体中以处理这些操作,它肯定会比转换为WPF更快。 – Crake 2013-04-08 19:49:53
就时间限制而言,这听起来像是最好的计划。感谢您的想法! – Br0k3nL1m1ts 2013-04-08 19:50:52
使用WindowsFormsHost在WPF窗口/应用程序中托管您的WinForms表单。然后,您可以为WindowsFormsHost控件创建WPF边框。
您只需要在hello-world级别知道WPF,并且所有的应用程序逻辑都可以保留在WinForms表单中。
- 1. 更高效地将WinForms转换为WPF或将WPF转换为Winforms
- 2. 将WPF TreeView转换为菜单
- 3. WPF/WinForms/GDI互操作:将WriteableBitmap转换为System.Drawing.Image?
- 4. 将WPF调度程序转换为Winforms BGworker?
- 5. 将表单转换为UserControl
- 6. 将System.Drawing.Font.Size转换为WPF FontSize
- 7. 将MessageBoxImage转换为ImageSource WPF
- 8. 将WPF转换为网格
- 9. WPF:将ImageSource转换为Stream
- 10. winforms如何将MouseEventArgs e.location转换为TableLayoutCellPaintEventArgs?
- 11. 转换WPF路径数据的WinForms
- 12. 将列表转换为列表清单
- 13. 转换^为char *的WinForms C++
- 14. WPF 3D:如何将单个AxisAngleRotation3D转换为单独的AxisAngleRotation3D?
- 15. 将getElementbyID转换为表单字段值
- 16. 将HTML表单转换为JSON对象
- 17. ColdFusion将表单值转换为结构
- 18. 将整数转换为单词列表
- 19. 将jQuery Mobile转换为ASP.Net MVC表单
- 20. 将HTML表单数据转换为python
- 21. 将scipy.sparse.csr.csr_matrix转换为列表清单
- 22. 将Xlsxwriter表单转换为Pandas Dataframe
- 23. 如何将textarea转换为表单?
- 24. 将InfoPath表单自动转换为PDF
- 25. 将R中的表转换为单行
- 26. 将表单数据转换为XML
- 27. 如何将表单转换为类?
- 28. 如何将html表单转换为url
- 29. 如何将Excel表单转换为OpenXData
- 30. 将表格的单列转换为行
我更喜欢将您的应用程序转换为WPF。它不只是一个边界。你可以做许多你无法在WinForms中做的其他事情。 – Dilshod 2013-04-08 20:15:04
你可以告诉我们你的用户界面吗? – Dilshod 2013-04-08 20:15:31