Пример кода для таймаута неактивности в приложении Silverlight 4 (с использованием MVVM) - PullRequest
2 голосов
/ 14 февраля 2011

Я создаю свое первое приложение SL Out of Browser. После 20 минут бездействия я хочу установить App.IsAuthenticated = false и перенаправить на страницу входа.

Я, черт возьми, гуглил это, я прочитал множество обсуждений, в которых говорится об использовании обработчиков событий mousemove / keydown с таймером диспетчеризации, но я нигде не видел ни малейшего кода, показывающего, как это делается ,

Я использую MVVM, если это имеет значение (например, код будет добавлен в мою MainViewModel, поэтому я хотел бы, чтобы пример кода соответствовал этому шаблону).

Может ли кто-нибудь предоставить пример кода для этого? Это будет просто, я уверен, но я только кодирую в .NET в течение последнего месяца или около того, и большая часть этого была SL.

Спасибо, Скотт

1 Ответ

2 голосов
/ 15 февраля 2011

5 секундный таймер для демонстрации:

public partial class MainPage : UserControl
{
    private DispatcherTimer timer;
    public MainPage()
    {
        InitializeComponent();
        timer = new DispatcherTimer(){Interval = TimeSpan.FromSeconds(5)};
        timer.Tick += (s, e) => { this.textBlock.Text = "Time out"; this.timer.Stop(); };
        timer.Start();
    }

    protected override void OnMouseMove(MouseEventArgs e)
    {
        base.OnMouseMove(e);
        timer.Start();
    }

    protected override void OnKeyDown(KeyEventArgs e)
    {
        base.OnKeyDown(e);
        timer.Start();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...