我想按下按钮背景颜色,因为我使用图像作为背景,因此喜欢透明背景。
鼠标悬停时可以通过以下代码删除边框:
btn.BorderThickness = new Thickness(0,0,0,0);
btn.Padding = new Thickness(0, 0, 0, 0);
并通过设置:
btn.Background = new Windows.UI.Xaml.Media.SolidColorBrush(Windows.UI.Colors.Transparent);
但是我点击它时无法删除背景,它显示的是灰色背景 任何建议都会非常感激。
答案 0 :(得分:6)
无论您设置什么,由于Pressed
CommonStates
的{{1}}状态,default template都会(应该)覆盖您的值。
VisualStateGroup
而不是设置颜色 - 以及边框,你现在如何做 - 从后面的代码,你应该为按钮创建自己的模板,将<VisualState x:Name="Pressed">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid"
Storyboard.TargetProperty="Background">
<!-- This will cause the gray background color of the button -->
<DiscreteObjectKeyFrame
KeyTime="0"
Value="{ThemeResource SystemControlBackgroundBaseMediumLowBrush}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
设置为所需的值,例如Background
。