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;
}

вызвать функцию показа, когда вы хотите показать всплывающее окно

Другие вопросы по тегам