Style 中定义的按钮资源

Ste*_*eef 6 wpf xaml wpf-style

我可以创建一个像这样的圆角按钮(来自如何在 WPF 中创建/制作圆角按钮?):

<Button>
    <Button.Resources>
        <Style TargetType="Border">
            <Setter Property="CornerRadius" Value="5"/>
        </Style>
    </Button.Resources>
</Button>
Run Code Online (Sandbox Code Playgroud)

如何在样式中定义它,然后为每个按钮应用该样式?我尝试创建这样的样式,但 CornerRadius 不可用:

<Style x:Key = "myButtonStyle" TargetType = "Button">
  <Setter Property = "Height" Value = "30"/>
  <Setter Property = "Width" Value = "80"/>
  <Setter Property = "Margin" Value = "10"/>
</Style>
Run Code Online (Sandbox Code Playgroud)

喜欢这个帕维尔?

<Style x:Key="s2" TargetType="Button" BasedOn="{StaticResource {x:Type Button}}"> 
  <Setter Property="Background" Value = "Red" />
  <Setter Property="CornerRadius" Value="5"/>
</Style>
Run Code Online (Sandbox Code Playgroud)

WPF 不会让我

mm8*_*mm8 5

您可以使用嵌套样式定义隐式按钮样式Border

<Style TargetType="Button">
    <Style.Resources>
        <Style TargetType="Border">
            <Setter Property="CornerRadius" Value="5"/>
        </Style>
    </Style.Resources>
    <Setter Property="Height" Value="30"/>
    <Setter Property="Width" Value="80"/>
    <Setter Property="Margin" Value="10"/>
</Style>
Run Code Online (Sandbox Code Playgroud)