WPF MVVM无模式窗口如何停止打开多个窗口
我有一个MVVM应用程序,在其中一个名为RedView的视图中,有相应的RedViewModel 在RedView内部有一个按钮:WPF MVVM无模式窗口如何停止打开多个窗口,wpf,window,modeless,Wpf,Window,Modeless,我有一个MVVM应用程序,在其中一个名为RedView的视图中,有相应的RedViewModel 在RedView内部有一个按钮: <Button Content="OpenSmallWindow" Style="{DynamicResource appButton}" Grid.Column="1" x:Name="ShowSmallWindow" /> 在代码中,我可以在单击按钮时正确显示SmallWindowView。然而,每次按下按钮,每次点击都会出现一个新的小窗口,这不是
<Button Content="OpenSmallWindow" Style="{DynamicResource appButton}" Grid.Column="1" x:Name="ShowSmallWindow" />
在代码中,我可以在单击按钮时正确显示SmallWindowView。然而,每次按下按钮,每次点击都会出现一个新的小窗口,这不是我想要的。我尝试了window.Owner(),但它出错了
可能是一些非常简单的东西,或者与MVVM Caliburn Micro app有关……对如何修复的代码有什么想法吗?您正在创建一个新窗口,并在每次代码运行时显示它。如果只想打开一次,请在窗口的视图模型中添加一个字段,并仅在该字段为null时创建它。或者,在第一次单击按钮后禁用该按钮,使其无法打开多个窗口。因此,这类似于If语句,因为我只希望它打开一次窗口?是的,类似于
If(muhWindowIsOpen)返回;OpenChildWindow();muhWindowIsOpen=true代码>
public void ShowSmallWindow()
{
Window window = new Window
{
Title = "SmallWindow",
Content = new SmallWindowView(),
SizeToContent = SizeToContent.WidthAndHeight,
ResizeMode = ResizeMode.NoResize
};
window.Show();