码迷,mamicode.com
首页 > Windows程序 > 详细

完美去除WPF按钮的边框

时间:2015-06-26 17:44:47      阅读:392      评论:0      收藏:0      [点我收藏+]

标签:

 主页面背影图片,

技术分享

添加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}}">
View Code

但是当鼠标经过的时候还是会显示一个大按钮

如果想彻底去掉边框,且当鼠标经过时不会现原形那就只有重写按钮的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>     
View Code

添加引用

技术分享

OK!!!!!

如果还需要根据条件改变按钮的背影图片,我的解决方案是(显然有点笨,还望指点)在重写一个ControlTemplate,把ImageSource换掉,

当条件满足时更换按钮的Template ,代码

if(条件满足)按钮的Name.Template = (ControlTemplate)Application.Current.TryFindResource("资源的Key");

运行效果图

技术分享

条件满足时

技术分享

 

完美去除WPF按钮的边框

标签:

原文地址:http://www.cnblogs.com/ztb123/p/4602491.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!