2016-03-28 3 views
0

Я использую фреймворк 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

Если вы установили начальное значение в NowPlayingTime, отображается ли оно на TextBlock? – Nitin

+0

Нет, этот текст не обновляется, даже если я отправляю статический текст. – Yami

+0

Это означает, что это ошибка привязки. можете ли вы проверить окно вывода для каких-либо ошибок привязки? – Nitin

ответ

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); 
} 
Смежные вопросы