在具有主题的同时为按钮添加自己的设计

本文关键字:按钮 添加 自己的 | 更新日期: 2024-10-29 17:23:00

我有我的应用程序,目前它从以下位置调用主题:

<Application.Resources>
    <ResourceDictionary Source="themes/WhistlerBlue.xaml"/>
</Application.Resources>

我想在标签后面创建一个不可见的按钮,但每次我添加一个按钮时,它都会让它像其他按钮一样。

<Button x:Name="btnHelp"
        Content="Help"
        Foreground="#FF7E8385"
        FontFamily="Calibri"
        FontSize="18"
        Margin="25,11,0,0"
        Click="btnHelp_Click"
        BorderThickness="0"
        Padding="0" />
<GridSplitter HorizontalAlignment="Left"
              Height="30"
              Margin="10,10,0,0"
              VerticalAlignment="Top"
              Width="1"
              Background="#FFB2B2B2"
              Focusable="False" 
              IsTabStop="False"
              IsEnabled="False"/>
<Button x:Name="btnSettings"
        Content="Settings"
        Foreground="#FF7E8385"
        FontFamily="Calibri"
        FontSize="18"
        Margin="10,11,0,0"
        Click="btnSettings_Click">
</Button>

上面的代码是我的按钮,我尝试添加Background ="Transparent"但这没有任何作用,我也尝试过Background = "{x:Null}",这什么也没做。

我是新手,正在学习 WPF,所以任何帮助都会非常有帮助。

编辑:这是实际异常的图片:

https://i.stack.imgur.com/ffzNa.png

Master是我创建的Generic页面,这样我就不会有重复的代码。

我不知道这是否有区别,但在Master页面的顶部,它有一个这样的Style集:

<Style TargetType="{x:Type local:Master}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type local:Master}">
                <StackPanel>
                    <Menu Height="50" Margin="0,0,0,0" HorizontalAlignment="Stretch" FlowDirection="RightToLeft">
                        <Menu.Background>
                            <LinearGradientBrush EndPoint="0,0" StartPoint="0,1">
                                <GradientStop Color="#FFB3DDF2" Offset="1.0"/>
                                <GradientStop Color="#FFD6E9F4" Offset="0.0"/>
                            </LinearGradientBrush>
                        </Menu.Background>
                        <Button x:Name="btnHelp" Content="Help" Foreground="#FF7E8385" FontFamily="Calibri" FontSize="18" Margin="25,11,0,0" Click="btnHelp_Click" BorderThickness="0" Padding="0" Style="{StaticResource TransButtonStyle}" />
                        <GridSplitter HorizontalAlignment="Left" Height="30" Margin="10,10,0,0" VerticalAlignment="Top" Width="1" Background="#FFB2B2B2" Focusable="False" IsTabStop="False" IsEnabled="False"/>
                        <Button x:Name="btnSettings" Content="Settings" Foreground="#FF7E8385" FontFamily="Calibri" FontSize="18" Margin="10,11,0,0" Click="btnSettings_Click">
                        </Button>

在具有主题的同时为按钮添加自己的设计

如果您搜索WhistlerBlue.xaml resource,您可能会找到类似于以下内容的内容:

<Style TargetType="{x:Type Button}">...</Style>

这会将该特定样式应用于派生自Button类型的任何控件,因此,如果您希望其他Button控件看起来不同,则需要更改该resource中的样式,或创建自己的样式。

<Style x:Key="MyButtonStyle" TargetType="{x:Type Button}">
<!-- define your settings -->
<Setter Property="Background" Value="Transparent" />
</Style>

然后将其应用于Button控件:

<Button Style="{StaticResource MyButtonStyle}" />