WPF 和 MVVM。显示和隐藏带有超时的标签
WPF and MVVM. Display and hide a label with a timeout
在我的 MVVM 应用程序中,我希望创建一个自动关闭的弹出窗口来向用户通知一些信息(例如 "data changes saved successfully")。
所以,我在表单中放置了一个标签,绑定到一个 VM 属性。然后,我希望设置我的消息并在延迟(1 秒)后取消它。但它似乎不起作用。该应用程序等待一段时间,并显示最终状态(即:当用户按下 "save" 按钮时,应用程序 "waits" 一秒钟,然后标签为空)。
有什么想法吗?谢谢
为什么不能在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;
}
要显示弹出窗口时调用显示函数
在我的 MVVM 应用程序中,我希望创建一个自动关闭的弹出窗口来向用户通知一些信息(例如 "data changes saved successfully")。 所以,我在表单中放置了一个标签,绑定到一个 VM 属性。然后,我希望设置我的消息并在延迟(1 秒)后取消它。但它似乎不起作用。该应用程序等待一段时间,并显示最终状态(即:当用户按下 "save" 按钮时,应用程序 "waits" 一秒钟,然后标签为空)。 有什么想法吗?谢谢
为什么不能在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;
}
要显示弹出窗口时调用显示函数