我正在学习本教程中的模态对话框:http://www.codeproject.com/Articles/36516/WPF-Modal-Dialog但是,是否有可能只显示区域Grid.Column
/ Grid.Rows
中的模态对话框,此外,另一个Grid.Column
/ Grid.Rows
仍可访问?
感谢。
答案 0 :(得分:0)
您当前可能正在使用模态对话框覆盖整个网格:
<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>
¹我不熟悉您链接的模态对话框代码,我现在就快速浏览一下。
答案 1 :(得分:0)
Modal Dialog的定义是(强调我的):
在用户界面设计中,模态窗口是一个子窗口,要求用户在返回操作父应用程序之前与其进行交互,从而阻止应用程序主窗口上的工作流。模态窗口通常称为重窗口或模态对话框,因为窗口通常用于显示对话框。
因此,如果您需要“模态”对话框,则问题的答案为“否”。如果您只想阻止网格的某个部分,只需将Dialog作为UserControl加载到您希望阻止使用的部分。您仍然可以访问其余的应用程序。