20120912 关于WPF控件的进一步学习 续-动态改变UI
发布日期:2022-03-02 13:24:04 浏览次数:31 分类:技术文章

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

触发器:

    XAMl触发器有:属性触发器(属性值改变触发)、多触发器(基于多个属性值)、数据触发器(数据改变)和事件触发器。

 

属性触发器:

    Style类中有Trigger属性,通过它实现属性改变时的动作。Trigger类的属性说明:

Trigger属性 说明
Property
Value

   使用属性触发器,Property和Value属性用于指定触发器的激活时间,例如Property="IsMouseOver" Value="True"

Setter

   一旦激活触发器,就可以便用 settm定义一个setter元素集合,来改变属性值。 setter类定义Property、TriggerName和Value属性,并修改对象属性

EnterAction
ExitAction

    除了定义setter之外,还可以定义EnterAction和ExitAction使用这两个属性,可以定义一个Trigger元素集合。EnterActions在启动触发器时激活(此时通过属性触发器应用 Property/Value组合)。 EntertAcions在触发器结束之前颟 此时不再应用Property/Value组合)。 用这些操作指定的触发器操作派生自基类TriggerAction如SoundPlayerAction和BeginStoryBoard。 使用SoundPlayerAction基类可以开始播放声音,BeginStoryBoard基类用于动画

   
 
当触发器失效时,Button的属性自动还原。
 
多触发器:
Condition属性,可以在其中设置属性的有效值。setter属性在其中指定需要设置的属性:
HelloWord
 
数据触发器:
    如果绑定到控件上的数据满足指定的条件,就激活数据触发器。
 
 
class Person    {        public string Name { set; get; }        public string Sex { set; get; }        public override string ToString()        {            return Name + " " + Sex;        }    }
 
 
模板:
模板类型 说明
ControlTemplate 指定控件的可视化结构,重新设计其外观
ItemsPanelTemplate

对于一个ItermsControl可以赋予一个ItemsPanelTemplate以指定其项的布局。每一个ItermsControl都有一个ItemsPanelTemplate。MennIterm使用WrapPanel,StatueBar使用DockPanel。ListBox使用VirtualIizingStackPanel

DataTemplate 适用于对象的图形表示。给列表框指定样式,默认情况下,列表框中的项根据ToString()方法的输出来显示。应用DataTemplate,可以重写其操作,定义项的自定义表示
HierarchicalDataTemplate 用于排列对象的树形结构。 这个控件支持HierarchicalItermControl,如treeViewIterm和menuIterm
 
控件模板:
     建立一个Button,并采用自定义风格;
模板定义:
window中代码:
 
 
 
数据模板
 
 
 

转载于:https://www.cnblogs.com/Caius/archive/2012/09/12/2682219.html

转载地址:https://blog.csdn.net/anqingxun0615/article/details/101368145 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Git连接两个远程仓库
下一篇:无需通过redis,而是直接通过JAVA来生成订单号(日期+流水号), java按日期加流水号方式生成订单号

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月19日 01时25分45秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章