30 приложений для Windows Phone: Обратный отчет до полуночи
Наше первое приложение для Windows Phone 7 будет очень простым. На экране будет идти обратный отчет до полуночи в стиле будильника.
Приготовления
Для приложения нам понадобится шрифт Quartz Italic, который можно скачать с сайта
Интерфейс программы
Интерфейс программы очень прост. Добавьте элемент TextBlock под именем "Countdown" на страницу и установите следующие свойства:
- Width и Height: Auto (выбрать Advanced Properties, далее Reset Value).
- Margin: Clear the ones the designer set
- Horizontal и Vertical Alignment: Center
- Foreground: будем использовать текущую тему пользователя. Поэтому под Advanced Properties выберем Apply Resource и установим значение Phone Accent Brush
- Font Size: 64
Xaml-код для ContentGrid будет выглядеть следующим образом:
<Grid x:Name="ContentGrid" Grid.Row="1"> <TextBlock x:Name="Countdown" VerticalAlignment="Center" FontFamily="quartzitalic.ttf#Quartz" Foreground="{StaticResource PhoneAccentBrush}" FontSize="64" HorizontalAlignment="Center" /> </Grid>
Создание таймера
Нам нужен таймер, который будет тикать каждую секунду. И, соответственно, мы будем каждую секунду обновлять содержимое элемента TextBlock. В конструкторе класса Page мы задаем событие Loaded, которое происходит при создании страницы, а также создаем метод OnTimerTick, в котором вычисляем оставшееся время до полуночи и выводим результат в TextBlock. Полный код выглядит следующим образом:
using System.Windows.Threading; public partial class MainPage { private DispatcherTimer timer; public MainPage() { InitializeComponent(); Loaded += OnLoaded; } private void OnLoaded(object sender, RoutedEventArgs e) { timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(1) }; timer.Tick += OnTick; timer.Start(); } private void OnTick(object sender, EventArgs e) { var midnight = DateTime.Today.AddHours(24); var timeLeft = midnight - DateTime.Now; Countdown.Text = String.Format("{0:D2}:{1:D2}:{2:D2}", timeLeft.Hours, timeLeft.Minutes, timeLeft.Seconds); } }
Запустите проект и посмотрите, сколько времени осталось до полуночи. Возможно, результат вас удивит и не совпадет с вашими ожиданиями. Не впадайте в панику. На вашем телефоне установлен по умолчанию другой часовой пояс. Войдите в настройки (Settings | Date & Time) и установите свой часовой пояс.

Дополнительные материалы
Пример для Windows Mobile 6.5 - Обратный отсчёт до полуночи