博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【C#】WPF的xaml中定义的Trigger为什么有时候会不管用,如Border的MouseOver之类的
阅读量:6672 次
发布时间:2019-06-25

本文共 834 字,大约阅读时间需要 2 分钟。

原文:

初学WPF,知道一些控件可以通过定义Style的Trigger改变要显示的样式,但是经常遇到一些明明Trigger已经触发了,但是里面Setter设置的样式,却没有效果的问题。其实主要原因,是样式重复定义导致的。

举个例子:

这段代码,执行后,无论你鼠标在上面经过多少次,外观样式都不会有任何改变。这是因为你在最外层的Border里已经定义了BorderBrush和BroderThickness,所以Trigger中的那两个setter不会起到任何作用,但是如果你在添加一个setter,Property设置为背景色。重新运行,你会发现这个Setter却有作用,就是因为我们在外层的Border标签中,没有定义Background属性,所以它才会有作用。

所以,到这里你应该知道如何更改你的代码了,如下:

另外,还需要注意,一旦定义了IsMouseOver为True的Trigger,也最好定义一个为False的Trigger。经实践,如果只定义一个为True的,还是没有任何现实效果。

在接下的博客中,会为大家带来一个用WPF做的仿QQ界面的一个教程。

转载地址:http://lkgxo.baihongyu.com/

你可能感兴趣的文章
迭代算法与递归算法的概念及区别
查看>>
我对CSS vertical-align的一些理解与认识(一)
查看>>
离线安装谷歌扩展
查看>>
使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境
查看>>
Round() 四舍五入 js银行家算法
查看>>
hdu 5594 ZYB's Prime 最大流
查看>>
Android - HelloWorld的Layout内容
查看>>
#Linux学习笔记# Linux文件的所有者、群组和其他人
查看>>
最近反思
查看>>
java四舍五入的取舍
查看>>
Maven支撑下的War应用依赖另外一个WAR应用的解决方案
查看>>
JavaScrip——练习(做悬浮框)
查看>>
从游戏开发到应用开发的转变
查看>>
UIApearance
查看>>
android: LayoutInflater使用
查看>>
phalcon的url大小写的问题
查看>>
Tair ldb(leveldb存储引擎)实现介绍
查看>>
【Swift 2.1】为 UIView 添加点击事件和点击效果
查看>>
[ROS]3 Linux编程练习
查看>>
Codeforces 67C Sequence of Balls 编辑距离 dp
查看>>