Caliburn.Micro 查看模型中的 MaterialDesignXaml 对话框
MaterialDesignXaml dialog from Caliburn.Micro View Model
我在从视图模型显示对话框时遇到问题。问题是 "underlying content is not dimmed and disabled" 正如文档所说的那样。如果我点击底层视图,连接到关闭命令的对话框中的按钮有时会被禁用,用户无法点击它。
我在我的 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}"
你的问题出在DialogHost的定义上;你把它作为一个空元素。
DialogHost 是一个 ContentControl。里面的一切都会变得暗淡。所以你把它定义在你的 main Window/Page XAML 的根目录下,有点像:
<materialDesign:DialogHost CloseOnClickAway="True">
<StackPanel>
<TextBlock>Hello World</TextBlock>
<TextBlock>This is the main content of my application</TextBlock>
</StackPanel>
</materialDesign:DialogHost>
我在从视图模型显示对话框时遇到问题。问题是 "underlying content is not dimmed and disabled" 正如文档所说的那样。如果我点击底层视图,连接到关闭命令的对话框中的按钮有时会被禁用,用户无法点击它。
我在我的 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}"
你的问题出在DialogHost的定义上;你把它作为一个空元素。
DialogHost 是一个 ContentControl。里面的一切都会变得暗淡。所以你把它定义在你的 main Window/Page XAML 的根目录下,有点像:
<materialDesign:DialogHost CloseOnClickAway="True">
<StackPanel>
<TextBlock>Hello World</TextBlock>
<TextBlock>This is the main content of my application</TextBlock>
</StackPanel>
</materialDesign:DialogHost>