按下时如何删除按钮的背景颜色 - xamarin形成UWP

时间:2016-01-18 18:54:26

标签: xamarin xamarin.forms uwp

我想按下按钮背景颜色,因为我使用图像作为背景,因此喜欢透明背景。
鼠标悬停时可以通过以下代码删除边框:

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);

但是我点击它时无法删除背景,它显示的是灰色背景 任何建议都会非常感激。

1 个答案:

答案 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