我正在从本教程中学习模态对话框:http: //www.codeproject.com/Articles/36516/WPF-Modal-Dialog,但是,是否有可能显示模态对话框仅在区域Grid.Column
/Grid.Rows
仅阻塞,除此之外,另一个Grid.Column
/Grid.Rows
仍然可以访问?
谢谢。
我正在从本教程中学习模态对话框:http: //www.codeproject.com/Articles/36516/WPF-Modal-Dialog,但是,是否有可能显示模态对话框仅在区域Grid.Column
/Grid.Rows
仅阻塞,除此之外,另一个Grid.Column
/Grid.Rows
仍然可以访问?
谢谢。
您当前可能正在使用模态对话框覆盖整个网格:
<Grid>
<Grid x:Name="ModalDialogParent">
...
</Grid>
<controls:ModalDialog x:Name="ModalDialog" />
</Grid>
相反,它应该可以将模态对话框修复到父网格的特定部分,方法是将其放在网格内并指定其位置:
<Grid x:Name="ModalDialogParent">
...
<controls:ModalDialog x:Name="ModalDialog"
Grid.Row="1" Grid.Column="1"
Grid.RowSpan="2" Grid.ColumnSpan="2" />
</Grid>
¹我不熟悉您链接到的模态对话框代码,我现在只是快速浏览了一下。
模态对话框的定义是(强调我的):
在用户界面设计中,模态窗口是一个子窗口,需要用户与其交互才能返回到对父应用程序的操作,从而阻止了应用程序主窗口上的工作流。模态窗口通常被称为重窗口或模态对话框,因为窗口通常用于显示对话框。
因此,如果您想要一个模态对话框,您的问题的答案是否定的。如果您只想阻止 Grid 的某个部分,只需将 Dialog 作为 UserControl 加载到您要阻止使用的部分上。然后,您仍然可以访问应用程序的其余部分。