使用框架catel,更新计时器中的值,将事件发送到内容更新的事实,但不会发生更改。列表框中的数据已成功更新。问题是什么? XAML:
<TextBlock Margin="2,0" VerticalAlignment="Center" Text="{Binding NowPlayingTime}" />
C#:
void _dispatcherTimer_Tick(object sender, EventArgs e)
{
AboveTime = string.Format("{0:hh:mm:ss}", TimeSpan.FromMilliseconds(_controlPlayer.NaturalDurationTimeSpan));
NowPlayingTime = string.Format("{0:hh:mm:ss}", TimeSpan.FromMilliseconds(_controlPlayer.NowPlayingPosition));
}
public string NowPlayingTime
{
get { return _nowPlayingTime; }
private set
{
_nowPlayingTime = value;
RaisePropertyChanged(() => NowPlayingTime);
}
}
答案 0 :(得分:1)
找到问题的解决方案,如果您使用此代码,一切都会更新并成功运行。
private void _dispatcherTimer_Tick(object sender, EventArgs e)
{
AboveTime = string.Format("{0:hh\\:mm\\:ss}", _controlPlayer.NaturalDurationTimeSpan);
NowPlayingTime = string.Format("{0:hh\\:mm\\:ss}", _controlPlayer.NowPlayingPositionTimeSpan);
}