2013-04-08 36 views
0

我已经用C#编写了媒体播放器应用程序,并且想知道是否有任何方法可以使用WPF更改表单的边框,而无需将整个项目转换为WPF。我这样问是因为我只有2天半的时间来改变边界,我不认为在这段时间内将整个项目转换是可能的(我不认为2天会很长足以了解WPF端口所需的数量)。尝试在C#中更改边框会更简单吗?将WinForms表单转换为WPF

+0

我更喜欢将您的应用程序转换为WPF。它不只是一个边界。你可以做许多你无法在WinForms中做的其他事情。 – Dilshod 2013-04-08 20:15:04

+0

你可以告诉我们你的用户界面吗? – Dilshod 2013-04-08 20:15:31

回答

1

首先,删除窗体的边框。

form.FormBorderStyle = FormBorderStyle.None; 

然后,将表单的背景更改为您创建的图像中具有自定义边框的图像。

form.BackgroundImage = image; 

这会让你在短期内需要的地方。从长远来看,如果这是您将要维护和添加功能的项目,您最好咬住子弹并切换到WPF。

+0

不知道如果这是可行的,它仍然必须有常规关闭,最大化和最小化按钮。如果边界消失了,那些人会被保留吗? – Br0k3nL1m1ts 2013-04-08 19:48:57

+0

您可以随时设计自己的按钮并将它们放置在窗体中以处理这些操作,它肯定会比转换为WPF更快。 – Crake 2013-04-08 19:49:53

+0

就时间限制而言,这听起来像是最好的计划。感谢您的想法! – Br0k3nL1m1ts 2013-04-08 19:50:52

1

使用WindowsFormsHost在WPF窗口/应用程序中托管您的WinForms表单。然后,您可以为WindowsFormsHost控件创建WPF边框。

您只需要在hello-world级别知道WPF,并且所有的应用程序逻辑都可以保留在WinForms表单中。