如何使WPF按钮的行为像WinForms按钮?

时间:2016-08-08 19:48:40

标签: c# .net wpf winforms windows-10

我花了很长时间寻找一种让枯燥的WPF按钮更具交互性的方法,并且表现得像WinForms按钮,而不必自己实现该功能。这是我想要的一个例子:

经典WPF按钮:enter image description here

Windows 10 Winforms按钮:enter image description here

我甚至尝试使用WindowsFormsHost将WinForms按钮添加到我的WPF应用程序中,如下所示:

<WindowsFormsHost Grid.Row="0" Grid.Column="0" Width="50" Height="20" HorizontalAlignment="Right" VerticalAlignment="Bottom">
    <win:Button Text="Click" Left="50" Top="50" Size="50,20"/>
</WindowsFormsHost>

但它出现了一种灰色的旧式:enter image description here

如何在我的WPF按钮(如Winforms)中添加Windows 10交互功能,而无需自己实现该功能?

更新 通过&#34;更具互动性的#34;我的意思是在聚焦时有一个粗蓝色边框,并且表现为平滑过渡,如Windows 10系统按钮。

1 个答案:

答案 0 :(得分:1)

  

更多互动&#34;我的意思是在聚焦时有一个粗蓝色边框,并且表现为平滑过渡,如Windows 10系统按钮。

这只是styling的问题。花哨的东西需要你覆盖样式中的Template。要进行转换,通常使用VisualStateManager。 (大多数控件已经有一些预定义的状态,因此您不需要自己调用VisualStateManager.GoToElementState。可以找到按钮状态以及用法示例样式here。)