【发布时间】:2020-06-24 04:47:07
【问题描述】:
在我的 WPF 应用程序中,需要显示一个非模态窗口。 我正在使用 MVVM Light 框架。 人们建议使用不同的库来执行此操作,但是否有任何合适的控件可以使用 MVVM Light 或 WPF 本机库来执行此操作?
需要使非模态窗口始终位于顶部。
谢谢。
【问题讨论】:
标签: c# wpf mvvm-light non-modal
在我的 WPF 应用程序中,需要显示一个非模态窗口。 我正在使用 MVVM Light 框架。 人们建议使用不同的库来执行此操作,但是否有任何合适的控件可以使用 MVVM Light 或 WPF 本机库来执行此操作?
需要使非模态窗口始终位于顶部。
谢谢。
【问题讨论】:
标签: c# wpf mvvm-light non-modal
要创建非模态窗口,您不必使用框架。 WPF 库有足够的可能性来创建它。
最快的解决方案是创建一个新的Xaml Window,并在 Xaml 窗口代码的属性中指定TopMost 优先级,并将其设置为 true。
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="NonModalWindow" Height="300" Width="300" TopMost="True">
<Grid>
<!---- Some element defined in your window ---->
</Grid>
</Window>
创建此窗口后,只需调用它即可。
new NonModalWindow().Show();
如果你确实想把它变成Modal window,你可以使用下面的代码。
new NonModalWindow().ShowDialog(); // wooah a contradiction in the code
【讨论】: