西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識 → WPF數(shù)據(jù)觸發(fā)器實現(xiàn)實例代碼

WPF數(shù)據(jù)觸發(fā)器實現(xiàn)實例代碼

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:孜孜不倦的程序員時間:2012/10/8 14:54:42字體大。A-A+

作者:孜孜不倦的程序員點擊:57次評論:0次標簽: WPF

Actipro WPF Studiov11.1.0541 注冊版
  • 類型:編程控件大小:58.9M語言:英文 評分:6.6
  • 標簽:
立即下載

WPF觸發(fā)器

    屬性觸發(fā)器——當(dāng)依賴屬性的值改變時調(diào)用。

    數(shù)據(jù)觸發(fā)器——當(dāng)普通.NET屬性的值改變時調(diào)用。

    事件觸發(fā)器——當(dāng)路由事件被觸發(fā)時調(diào)用。

1. 數(shù)據(jù)觸發(fā)器示例:數(shù)字從0~9計數(shù),當(dāng)數(shù)字變?yōu)?時候,數(shù)字變化成紅色并加粗進行顯示。

    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中增加計數(shù)方法。

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頁面增加數(shù)據(jù)觸發(fā)器代碼。

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. 運行效果。

    

點擊這里下載源代碼。

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)