0

我正在从本教程中学习模态对话框:http: //www.codeproject.com/Articles/36516/WPF-Modal-Dialog,但是,是否有可能显示模态对话框仅在区域Grid.Column/Grid.Rows仅阻塞,除此之外,另一个Grid.Column/Grid.Rows仍然可以访问?

谢谢。

4

2 回答 2

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>

¹我不熟悉您链接到的模态对话框代码,我现在只是快速浏览了一下。

于 2013-02-05T09:17:38.190 回答
0

模态对话框的定义是(强调我的):

在用户界面设计中,模态窗口是一个子窗口,需要用户与其交互才能返回到对父应用程序的操作,从而阻止了应用程序主窗口上的工作流。模态窗口通常被称为重窗口或模态对话框,因为窗口通常用于显示对话框。

因此,如果您想要一个模态对话框,您的问题的答案是否定的。如果您只想阻止 Grid 的某个部分,只需将 Dialog 作为 UserControl 加载到您要阻止使用的部分上。然后,您仍然可以访问应用程序的其余部分。

于 2013-02-06T02:38:50.860 回答