完美去除WPF按钮的边框
【转载】:http://www.cnblogs.com/ztb123/p/4602491.html?utm_source=tuicool
主页面背影图片,
添加5个功能按钮,并设置按钮的Background和BorderBrush为Transparent,好像没有问题,运行效果
不仅有一个发光的边框,而且当鼠标经过时,按钮就不在透明,
解决方案1:设置Opacity为0
运行效果
就和一张图片是的,完美解决。
如果没有啥特殊的要求,可以简单的设置一句话,就可以去掉边框
解决方案2:
1 <Button Content="忘记密码?" Canvas.Left="910" Canvas.Top="357" Width="154" Height="62" Background="Transparent" Foreground="#FF59A4A9"
2 BorderThickness="0" FontSize="18" Name="laForgetPassword" Click="laForgetPassword_Click" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
但是当鼠标经过的时候还是会显示一个大按钮
如果想彻底去掉边框,且当鼠标经过时不会现原形那就只有重写按钮的ControlTemplate啦
解决方案3:
1 <ControlTemplate x:Key="ReturnButton" TargetType="{x:Type Button}">
2 <Grid>
3 <Rectangle>
4 <Rectangle.Fill>
5 <ImageBrush ImageSource="/Images/btngreynomal.png" ></ImageBrush>
6 </Rectangle.Fill>
7 </Rectangle>
8 <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center" Content="{TemplateBinding Content}"></ContentPresenter>
9 </Grid>
10 </ControlTemplate>
添加引用
OK!!!!!
如果还需要根据条件改变按钮的背影图片,我的解决方案是(显然有点笨,还望指点)在重写一个ControlTemplate,把ImageSource换掉,
当条件满足时更换按钮的Template ,代码
if(条件满足)按钮的Name.Template = (ControlTemplate)Application.Current.TryFindResource("资源的Key");
运行效果图
条件满足时