Я делаю приложение, где я хотел бы войти в систему с обнаружением лица. Но это не реально, его просто сделать ik похожим на его сканирование. Итак, когда я нажимаю кнопку LOG IN, kinect берет мое изображение и показывает мне картинку, поверх нее отображается текст в тексте, который он просматривает. Теперь я застрял в следующей проблеме, когда я нажимаю кнопку входа в систему, появляется метка сканирования, но я хотел бы запустить другое событие, которое приведет меня к следующей странице, на главной странице. Итак, я хочу, чтобы на экране появилась метка SCANNING в течение 3 секунд, а затем страница должна измениться. Это то, что я пытался, я работал с таймером, но это не делает annything.Как запустить событие через несколько секунд?
private void ActionButton_Click(object sender, System.EventArgs eventArgs)
{
_main.TakePicture();
identifyBox.Source = _main.source.Clone();
scanningLabel.Visibility = Visibility.Visible;
_storyboard = (Storyboard)FindResource("scanningSB");
//_storyboard.Begin();
Start();
}
private void Start()
{
_tm = new Timer(3000);
_tm.Elapsed += new ElapsedEventHandler(_tm_Elapsed);
_tm.Enabled = true;
}
void _tm_Elapsed(object sender, ElapsedEventArgs e)
{
if (_tm == new Timer(3000))
{
((Timer)sender).Enabled = false;
_main.ContentPage.Children.Clear();
_main.ContentPage.Children.Add(_homeScreen);
}
}
Хорошо, я удалил оператор if, но теперь он срабатывает каждые 3 секунды. Как я могу заставить его работать 1 раз.
Хорошо, даже это работает, теперь я не могу изменить свою ContentPage? Это дает мне эту ошибку: вызывающий поток не может получить доступ к этому объекту, потому что ему принадлежит другой поток. Что может быть неправильным?
Я просто хочу 1 раз стрелять через 3 секунды. Каждые 3 секунды он продолжает стрелять? – Letoir
@Letoir: обновлен ответ .. надеюсь, что это будет полезно для вас .. – dotNETbeginner
мой отправитель не содержит свойство Enabled? – Letoir