国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

WPF實現定時刷新UI界面功能

2024-07-10 12:49:04
字體:
來源:轉載
供稿:網友

本文實例為大家分享了WPF定時刷新UI界面展示的具體代碼,供大家參考,具體內容如下

代碼:

using NHibernate.Criterion;using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.ComponentModel;using System.Data;using System.Linq;using System.Text;using System.Threading;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;using Visifire.Charts;namespace SunCreate.CombatPlatform.Client{ public partial class MainPage : UserControl {  private System.Timers.Timer timerNotice = null;  public MainPage()  {   InitializeComponent();  }  private void MainPage_Loaded(object sender, RoutedEventArgs e)  {   #region 通知公告   if (timerNotice == null)   {    BindNotice();    timerNotice = new System.Timers.Timer();    timerNotice.Elapsed += new System.Timers.ElapsedEventHandler((o, eea) =>    {     BindNotice();    });    timerNotice.Interval = 60 * 1000;    timerNotice.Start();   }   #endregion  }  private void MainPage_SizeChanged(object sender, SizeChangedEventArgs e)  {  }  #region 綁定通知公告  private void BindNotice()  {   System.Threading.Tasks.Task.Factory.StartNew(() =>   {    try    {     int total = 0;     TES_NOTICE info = new TES_NOTICE();     IList<TES_NOTICE> list = new List<TES_NOTICE>();     list = HI.Get<INoticeService>().GetListPage(null, DateTime.MinValue, DateTime.MinValue, 1, 50, ref total);     Dispatcher.Invoke(new Action(() =>     {      noticeListView.ItemsSource = list;     }));    }    catch    {    }   });  }  #endregion }}

說明:在 System.Timers.Timer 的事件中使用 BackgroundWorker 是無效的,即如下代碼不能正常刷新界面:

using NHibernate.Criterion;using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.ComponentModel;using System.Data;using System.Linq;using System.Text;using System.Threading;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;using Visifire.Charts;namespace SunCreate.CombatPlatform.Client{ public partial class MainPage : UserControl {  private System.Timers.Timer timerNotice = null;  public MainPage()  {   InitializeComponent();  }  private void MainPage_Loaded(object sender, RoutedEventArgs e)  {   #region 通知公告   if (timerNotice == null)   {    BindNotice();    timerNotice = new System.Timers.Timer();    timerNotice.Elapsed += new System.Timers.ElapsedEventHandler((o, eea) =>    {     BindNotice();    });    timerNotice.Interval = 60 * 1000;    timerNotice.Start();   }   #endregion  }  private void MainPage_SizeChanged(object sender, SizeChangedEventArgs e)  {  }  #region 綁定通知公告  private void BindNotice()  {   PT_USER_INFO user = new PT_USER_INFO();   IList<TES_COMBAT_TASK> taskList = new List<TES_COMBAT_TASK>();   BackgroundWorker worker = new BackgroundWorker();   worker.DoWork += (s, e) =>   {    user = HI.Get<Cache.ICacheService>().UserCache.GetCurrentUserInfo();    taskList = HI.Get<ITaskService>().GetCombatTaskByUserIDUnfinished(user.ID.ToString());   };   worker.RunWorkerCompleted += (s, e) =>   {    try    {     taskListView.ItemsSource = taskList;    }    catch { }   };   worker.RunWorkerAsync();  }  #endregion }}            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 调兵山市| 定安县| 邹平县| 张家港市| 凤山市| 措勤县| 西盟| 会东县| 洞头县| 江永县| 靖边县| 宁化县| 天门市| 东平县| 启东市| 房产| 嘉义县| 青州市| 抚松县| 香港| 梅州市| 方城县| 通辽市| 邹城市| 旅游| 清新县| 长武县| 丹凤县| 民丰县| 青海省| 盐池县| 措勤县| 铜梁县| 广州市| 兴宁市| 玛沁县| 清苑县| 沙洋县| 裕民县| 岚皋县| 清原|