有没有办法将DispatcherTimer
tick事件绑定到SampleDataSource.cs中SampleDataItem中的一个字段。
我想显示countdowntimer where subtitle在分组视图页面的默认SampleDataItme中的位置。
例如计算我正在使用的12 DEC的剩余时间,并且在字幕字段中我只是放置了函数名称,但它显示了在开始应用程序时12 DEC的剩余时间,之后它变为静态。
public string CalculateTimeRemaining()
{
DateTime daysLeft = DateTime.Parse("12/12/2013 12:00:01 AM");
DateTime startDate = DateTime.Now;
//Calculate countdown timer.
TimeSpan t = daysLeft - startDate;
int Days = t.Days;
int Hours = t.Hours;
int totalH = Hours + (Days * 24); ;
string countDown = totalH.ToString() + ":" + t.Minutes.ToString() + ":" + t.Seconds.ToString();
return countDown;
}
和samplesataitem
group1.Items.Add(new SampleDataItem("Group-1-Item-3",
"ABC",
"CalculateTimeRemaining()",
"Assets/3.png",
"Item Description",
ITEM_CONTENT,
group1, ));
SampleDataSource.cs是Windwos8的GridApp模板中的默认文件,samplesataitem是由模板生成的。
我试过
DispatchTimer myTimer = new DispatchTimer();
public MainPage()
{
this.InitializeComponent();
myTimer.Interval = TimeSpan.FromSeconds(1);
myTimer.Tick += myTimer_Tick;
myTimer.Start();
}
private void myTimer_Tick(object sender, object e)
{ var sampleDataGroups = SampleDataSource.GetGroups("AllGroups");
groupetItemViewSource.Source = sampleDataGroups //groupetItemViewSource is CollectionViewSource
}
有没有办法表明它显示每秒倒计时并在GroupedItemView中每秒更改一次值?
答案 0 :(得分:0)
您的SampleDataItem
需要实施INotifyPropertyChanged
,并且TimeRemaining
会在DispatcherTimer.Tick
事件上更新PropertyChanged
属性会引发{{1}}事件以更新绑定。