在具有主题的同时为按钮添加自己的设计
本文关键字:按钮 添加 自己的 | 更新日期: 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}" />