西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发其它知识 → WPF数据触发器实现实例代码

WPF数据触发器实现实例代码

相关软件相关文章发表评论 来源:孜孜不倦的程序员时间:2012/10/8 14:54:42字体大小:A-A+

作者:孜孜不倦的程序员点击:57次评论:0次标签: WPF

Actipro WPF Studiov11.1.0541 注册版
  • 类型:编程控件大小:58.9M语言:英文 评分:6.6
  • 标签:
立即下载

WPF触发器

    属性触发器——当依赖属性的值改变时调用。

    数据触发器——当普通.NET属性的值改变时调用。

    事件触发器——当路由事件被触发时调用。

1. 数据触发器示例:数字从0~9计数,当数字变为8时候,数字变化成红色并加粗进行显示。

    0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 ->0

2. 新建WPF项目,项目名称:DataTriggerDemo。

3. 新增Views文件夹,右键Views文件夹,新增用户控件Timer.xaml;并在页面中加入Button和Textblock控件。

    

    

4. 新增ViewModels文件夹,右键ViewModels文件夹,新增类TimerViewModel.cs;在代码中增加StartCommand命令和DisplayNumber属性。

    

1 private int displayNumber = 0;
2 public int DisplayNumber
3 {
4     get { return displayNumber; }
5     set
6     {
7         displayNumber = value;
8         NotifyPropertyChanged("DisplayNumber");
9     }
10 }
11
12 private ICommand startCommand;
13 public ICommand StartCommand
14 {
15     get
16     {
17         if (startCommand == null)
18         {
19             startCommand = new RelayCommand(param =>
20             {
21                 Start();
22             }, param => true);
23         } return startCommand;
24     }
25 }

5. 在TimerViewModel中增加计数方法。

1 private void Start()
2 {
3     new Timer(new TimerCallback(param =>
4     {
5         DisplayNumber++;
6         if (DisplayNumber == 10)
7         {
8             DisplayNumber = 0;
9         }
10     })).Change(0, 1000);
11 }

6. 在Timer.xaml页面增加数据触发器代码。

1 <UserControl.Resources>
2     <Style TargetType="TextBlock">
3         <Style.Triggers>
4             <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Text}" Value="8">
5                 <Setter Property="Foreground"
6                         Value="Red"></Setter>
7                 <Setter Property="FontWeight"
8                         Value="Bold"></Setter>
9                 <Setter Property="FontSize"
10                         Value="29"></Setter>
11             </DataTrigger>
12         </Style.Triggers>
13     </Style>
14 </UserControl.Resources>

7. 运行效果。

    

点击这里下载源代码。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)