完美去除WPF按鈕的邊框


完美去除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");

運行效果圖

條件滿足時

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM