C# 在WPF中设置按钮FlatStyle

C# 在WPF中设置按钮FlatStyle,c#,wpf,controls,styles,C#,Wpf,Controls,Styles,我刚刚学习了WPF中的样式和控件模板如何影响按钮的外观 我正在尝试设置按钮的FlatStyle,在我看到的资源中,我找不到任何东西可以告诉我如何进行设置,在Windows窗体中,这是通过FlatStyle=Flat设置的 在WPF中如何实现这一点?工具栏类定义了一种使按钮看起来扁平的样式。使用它的一个例子是: <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"/> WPF允许您完全重新设置控件的样

我刚刚学习了WPF中的样式和控件模板如何影响按钮的外观

我正在尝试设置按钮的FlatStyle,在我看到的资源中,我找不到任何东西可以告诉我如何进行设置,在Windows窗体中,这是通过
FlatStyle=Flat
设置的


在WPF中如何实现这一点?

工具栏类定义了一种使按钮看起来扁平的
样式。使用它的一个例子是:

<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"/>


WPF允许您完全重新设置控件的样式,使其看起来像您想要的一样,这就是为什么它在
按钮
控件上没有这样一个特定的
FlatStyle
属性的原因。

将以下内容添加到您的窗口/页面资源中:

<Style BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" TargetType="Button"></Style>


它将对该样式范围内的所有按钮应用展开样式。

哪个更正确?为按钮创建一个模仿ToolBar.ButtonStyle的样式,或者只使用您提供的代码。谢谢EdDepends我想你的方案。您还可以使用style.BasedOn属性从工具栏按钮样式“派生”样式。这是一个很好的技巧。非常感谢,肯特。如果我能投两次票,我会的。我甚至从未想过从另一个控件中挖出一种样式。非常好的提示。刚刚注意到-将按钮的
Focusable
属性设置为
false
将解决这个问题。(请注意,该按钮仍然可以通过键盘快捷键访问-它只是不包括在选项卡顺序中,这通常不是工具栏按钮所期望的。)这是否回答了您的问题?