WPF и MVVM. Отобразить и скрыть метку с тайм-аутом
В моем приложении MVVM я хочу создать всплывающее окно с автоматическим закрытием, чтобы уведомлять пользователей о некоторой информации (например, "изменения данных успешно сохранены"). Итак, я поместил метку в форму, привязанную к свойству VM. Затем я хочу настроить свое сообщение и отменить его через некоторое время (1 секунда). Но, похоже, не работает. приложение просто подождет некоторое время и покажет окончательный статус (то есть: когда пользователь нажимает кнопку "сохранить", приложение "ждет" в течение одной секунды, а затем метка становится пустой). какие-нибудь идеи, чтобы получить это? Спасибо
1 ответ
Решение
Почему вы не можете использовать обычное всплывающее окно в WPF
<Popup Margin="10,10,0,13" Name="Popup1" HorizontalAlignment="Left" VerticalAlignment="Top" Width="194" Height="200" IsOpen="True">
<StackPanel>
<TextBlock Name="McTextBlock"
Background="LightBlue" >
This is popup text
</TextBlock>
<Button Content="This is button on a Pupup" />
</StackPanel>
public void show()
{
Popup1.IsOpen = true;
Thread t = new Thread(hide);
t.Start();
}
private void hide() {
Thread.Sleep(5000);
Popup1.IsOpen = false;
}
вызвать функцию показа, когда вы хотите показать всплывающее окно