WPF button小问题
随便拽一个button进工程里,想实现button 在IsMouseOver的时候,底色不变,请问如何搞,我在属性触发器里添加了相应的代码,设置Background为透明,但是button上面还是罩了一层颜色。请大家解惑:
样式代码:
C# code
<Style x:Key="BtnExample" TargetType="Button">
<Setter Property="Background">
<Setter.Value>
<ImageBrush ImageSource="/EnvrimentConfig;component/Images/get.ico" />
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="Button.IsMouseOver" Value="True">
<Setter Property="Button.Background" Value="Transparent" >
</Setter>
</Trigger>
</Style.Triggers>
</Style>
XAML下代码:
C# code
<Button Height="96" Style="{StaticResource BtnExample}" HorizontalAlignment="Left" Margin="170,12,0,0" Name="button3" VerticalAlignment="Top" Width="90" Grid.RowSpan="2">
------解决方案--------------------http://social.msdn.microsoft.com/Forums/zh-CN/wpfzhchs/thread/abff631a-9d6e-407e-8b78-90ea186c1e7b
------解决方案--------------------你在xp就会下发现,你说的那种情况不会存在的
因为你用了随主题
进入 Expression Blend 4
然后创建一个最原始的button 就行了。
或者对系统自带button控件点右键选择修改模板,
把里面不需要的动画效果都去掉
------解决方案--------------------这个需要重写Button Template
参考http://msdn.microsoft.com/en-us/library/ms753328(v=vs.85).aspx
这个是默认的template
------解决方案--------------------
win7的Button是由ButtonChrome和ContentPresenter控件组成,ButtonChrome 提供标准按钮外观,而ContentPresenter显示按钮的内容,你可以把ButtonChrome替换成一个矩形,用来充当按钮的主体,修改矩形的触发器就可以达到你说背景不变的效果。至于360的效果你可以再添加一个大一点的矩形,把透明度调成0,然后再触发器里改变透明度就是你说的鼠标悬浮时,半透明矩形在上面。
http://blog.csdn.net/cmis7645/article/details/7562833