powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Байндинг DateTime.Now к TextBlock.Text
6 сообщений из 6, страница 1 из 1
Байндинг DateTime.Now к TextBlock.Text
    #37222304
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сабж.

В лоб решил так:
Xaml:
Код: plaintext
1.
2.
3.
                <TextBlock
                    Text="{Binding}"
                    HorizontalAlignment="Center"
                    VerticalAlignment="Center" />
Code-behind:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
        public SetTimer() {
            Timer timer = new Timer(timerCallback, null, 0, 1000);
        }

        void timerCallback(object nothing) {
            Deployment.Current.Dispatcher.BeginInvoke(
                () => this.DataContext = DateTime.Now);
        }
Без вью-модели и форматирования времени, но не суть.

Неужели нельзя напрямую прибиндить в xaml DateTime.Now к тексту?
С обновлением секунд и без кода таймера.

SL 4.0, VS 2010.
...
Рейтинг: 0 / 0
Байндинг DateTime.Now к TextBlock.Text
    #37223343
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic,

нет конечно, как вы "скажите" биндингу, что нужно обновить данные?

используя DateTime.Now вы получаете текущее состояние дата/время.

что означает можно представить такую конструкцию:
Код: plaintext
1.
2.
3.
4.
public class DateTime
{
  public static DateTime Now {get{return System.GetSystemDateAndTime();}}
}
...
Рейтинг: 0 / 0
Байндинг DateTime.Now к TextBlock.Text
    #37223489
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic,

Нельзя конечно. DateTime.Now не будет же каждую секунду вызывать OnPropertyChanged.
...
Рейтинг: 0 / 0
Байндинг DateTime.Now к TextBlock.Text
    #37223490
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руки-крюки,

Если хотите, то сами сделайте обертку для DateTime и в ней таймер, который будет каждую секунду вызывать OnPropertyChanged.
...
Рейтинг: 0 / 0
Байндинг DateTime.Now к TextBlock.Text
    #37223788
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уТКа, Руки-крюки,

Спасибо за ответы.

Просто подумалось, что должен быть способ напрямую привязаться биндингом ко времени (DateTime.Now). Ведь это "горячая" коллекция, постоянно генерирующая данные, только без нотификаций.
Действительно, нужно реализовать INPC (INotifyPropertyChanged) в обертке над DateTime.Now.
...
Рейтинг: 0 / 0
Байндинг DateTime.Now к TextBlock.Text
    #37223799
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic,

То есть, это как будто "горячая" коллекция. То есть постоянно изменяется.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Байндинг DateTime.Now к TextBlock.Text
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]