我们有一个PRISM WPF - MVP - 应用程序,我们有shell通过Grid.Background属性显示应用程序徽标。现在,当在主要区域上添加视图时,背景在背景中看起来很奇怪。由于shell上显示的视图是透明的,所以这种情况正在发生。 经过几次头脑风暴后,我们唯一的解决方案是注册RegionManager.Regions [MainRegion] .Views.CollectionChanged事件并在事件处理程序中添加逻辑,以便:如果其中没有视图,则要求视图显示背景其他要求它隐藏背景。
还有更好的选择吗?谢谢!
答案 0 :(得分:0)
我不知道您的MainRegion
是什么,但您可以随时将其设置为Style
。这适用于任何地区的一些细微更改,但如果您的MainRegion只是一个Window
,这里有一个示例:
<Window x:Class="MyNamespace.Shell"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:prism="http://www.codeplex.com/prism"
Title="Shell"
prism:RegionManager.RegionName="MainRegion">
<Window.Style>
<Style TargetType="{x:Type Window}">
<Setter Property="Background" Value="White" />
<Style.Triggers>
<Trigger Property="Content" Value="{x:Null}">
<Setter Property="Background"
Value="{StaticResource LogoBrush}" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Style>
</Window>