WPF style BasedOn base style

FredGrit發表於2024-11-17
<Window x:Class="WpfApp32.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp32"
        mc:Ignorable="d"
        WindowState="Maximized"
        Title="MainWindow" Height="450" Width="800">
    <!--<StackPanel Orientation="Horizontal">
        <Button FontSize="22"
                Background="Purple"
                ForceCursor="True"
                Foreground="Wheat"
                Height="50"
                Width="50"
                RenderTransformOrigin="0.5,0.5">
            <Button.RenderTransform>
                <RotateTransform Angle="10"/>
            </Button.RenderTransform>
            1
        </Button>
        <Button FontSize="22"
                Background="Purple"
                ForceCursor="False"
                Foreground="White"
                Height="50"
                Width="50"
                RenderTransformOrigin="0.5,0.5">
            <Button.RenderTransform>
                <RotateTransform Angle="10"/>
            </Button.RenderTransform>
            2
        </Button>
        <Button FontSize="22"
                Background="Purple"
                Foreground="White"
                Height="50"
                Width="50"
                RenderTransformOrigin="0.5,0.5"
                >
            <Button.RenderTransform>
                <RotateTransform Angle="10"/>
            </Button.RenderTransform>
            3
        </Button>
    </StackPanel>-->

    <StackPanel Orientation="Horizontal">
        <StackPanel.Resources>
            <Style x:Key="btnStyle">
                <Setter Property="Button.FontSize" Value="22"/>
                <Setter Property="Button.Background" Value="Purple"/>
                <Setter Property="Button.Foreground" Value="White"/>
                <Setter Property="Button.Height" Value="500"/>
                <Setter Property="Button.Width" Value="150"/>
                <Setter Property="Button.RenderTransformOrigin" Value="0.5,0.5"/>
                <Setter Property="Button.RenderTransform">
                    <Setter.Value>
                        <RotateTransform Angle="10"/>
                    </Setter.Value>
                </Setter>
            </Style>
            <Style x:Key="boldBtnStyle" BasedOn="{StaticResource btnStyle}">
                <Setter Property="Button.FontWeight" Value="Bold"/>
            </Style>
            <Style x:Key="redBtnStyle" BasedOn="{StaticResource boldBtnStyle}">
                <Setter Property="Button.Background" Value="Red"/>
            </Style>
            <Style x:Key="bigBtnStyle" BasedOn="{StaticResource redBtnStyle}">
                <Setter Property="Button.FontSize" Value="100"/>
                <Setter Property="Button.Width" Value="500"/>
            </Style>
        </StackPanel.Resources>
        <Button Style="{StaticResource btnStyle}">1</Button>
        <Button Style="{StaticResource btnStyle}">2</Button>
        <Button Style="{StaticResource btnStyle}">3</Button>
        <Button Style="{StaticResource boldBtnStyle}">4</Button>
        <Button Style="{StaticResource redBtnStyle}">5</Button>
        <Button Style="{StaticResource bigBtnStyle}">6</Button>
    </StackPanel>
</Window>

相關文章