我有一个使用 Caliburn.Micro 的 WPF 应用程序。当我希望应用程序等待在后台完成一些工作时,我希望能够用阴影和进度环(来自MahApps.Metro )覆盖应用程序。
我目前所拥有的确实有效,但覆盖在设计时始终处于打开状态。我的ShellView
窗口如下所示:
<Window ...>
...
<Grid>
...
<Rectangle x:Name="waitShadow" Fill="#3f000000" Stroke="Black" StrokeThickness="0" Visibility="{Binding IsWaiting, Converter={StaticResource BooleanToVisibilityConverter}}" Grid.RowSpan="2"/>
<ContentControl ... Visibility="{Binding IsWaiting, Converter={StaticResource BooleanToVisibilityConverter}}">
<Controls:ProgressRing ...> <!-- from MahApps.Metro -->
</Controls:ProgressRing>
</ContentControl>
</Grid>
</Window>
我的ShellViewModel
班级有一个公共 bool 属性IsWaiting
,当我将其设置true
为阴影和环时,一切都被禁用。当我将它设置为它时,false
它会恢复正常,因此绑定有效(我正在使用Fody和 PropertyChanged 插件)。唯一的问题是该Visibility
属性在设计时没有折叠。
有没有更好的方法让覆盖在设计时起作用?