来自Caliburn.Micro View Model的MaterialDesignXaml对话框

时间:2017-01-09 14:06:27

标签: caliburn.micro material-design-in-xaml

我遇到了从View Model中显示Dialogs的问题。问题是文档说它应该是“基础内容没有变暗和禁用”。如果单击基础视图,则有时会禁用连接到关闭命令的对话框中的按钮,并且用户无法单击它。

我在我的MainView中定义了这样的DialogHost(也在ShellView中尝试过):

<materialDesign:DialogHost
        HorizontalAlignment="Center"
        VerticalAlignment="Center"
        CloseOnClickAway="True" />

从我的MainViewModel中,我显示如下对话框:

   Dim errView As New ErrorView
   Dim res = Await DialogHost.Show(errView)

我在ErrorView对话框中的按钮上连接了关闭命令,如下所示:

Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}"

1 个答案:

答案 0 :(得分:1)

问题在于DialogHost的定义;你把它作为一个空元素。

DialogHost是一个ContentControl。里面的一切都会变暗。所以你在 main Window / Page XAML的根目录定义它,更像是:

 bool operator==(const A *i , const A *j){
   ....
   .... 
 }