我注意到在Windows 10上,操作系统显示的控件外观看起来比Winforms / WPF上的默认值更具吸引力。例如,所选的OS按钮具有较厚的蓝色边框,并且具有更加交互的“感觉”,而默认的WPF按钮显示为简单的灰色框:
有没有办法以某种方式更改WPF中按钮的“主题”,使其行为与大多数操作系统显示的按钮类似,而不必手动实现此行为?
答案 0 :(得分:1)
您可以使用Windows UWP获得类似的按钮样式。
在WPF中,您可以查看MSDN网站中的Modern UI(MUI)。
它可以产生类似的结果。我和mui一起工作了几个月,这真的帮助我满足了想要拥有Windows 10喜欢UI体验的客户。我不得不像开始菜单一样创建瓷砖。 MUI为我做了很棒的工作。
从Github获取MUI。 Modern UI for WPF
此外,我还尝试了devexpress和telerik控件。也看看他们。
答案 1 :(得分:1)
您可以使用DevExpress获取表单的themes。或者您可以通过在每个按钮周围添加边框并在MouseDown和MouseUp事件处理程序上更改其颜色/可见性来实现自己的
答案 2 :(得分:1)
使用TargetType =“ Button”在Window.Resources中定义样式,以使其影响该窗口中的所有按钮。例如,尽管默认的WPF按钮具有鼠标悬停颜色更改和焦点矩形,但它不会在MouseDown上“向内”移动,因此此示例显示了如何执行此操作:
<Window.Resources>
<!--A Style that affects all Buttons-->
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property= "RenderTransform">
<Setter.Value>
<TransformGroup>
<ScaleTransform ScaleX="0.99" ScaleY="0.99"/>
<TranslateTransform X="2" Y="2"/>
</TransformGroup>
</Setter.Value>
</Setter>
<Setter Property="BorderThickness">
<Setter.Value>
<Thickness Left="2" Right="2" Top="2" Bottom="2"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
在“窗口”属性之后,在“网格”或其他容器标签之前插入此代码。