wpf - 程式化时的窗口背景黑色
问题描述
我正在尝试将以下背景画笔应用于NavigationWindow
:
<NavigationWindow.Background>
<RadialGradientBrush GradientOrigin="0.496,1.052">
<RadialGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterX="0.5" CenterY="0.5"
ScaleX="1.5" ScaleY="1.5"/>
<TranslateTransform X="0.02" Y="0.0"/>
</TransformGroup>
</RadialGradientBrush.RelativeTransform>
<GradientStop Offset="1" Color="#00000000"/>
<GradientStop Offset="0.2" Color="#FFFFFFFF"/>
</RadialGradientBrush>
</NavigationWindow.Background>
目前除了NavigationWindow
元素体中的这个设置器之外什么都没有,我正在尝试在一个新项目中解决它。设计器显示了正确的颜色,但在运行期间它变得比应有的颜色深得多:
这就是它的外观以及设计师如何正确显示它:
这就是它在运行时的样子:
我试图将相同的画笔应用于一个Page
元素,它工作得很好。
解决方案
这是因为您的黑色是 100% 透明的,并且在运行时背景是黑色的。在你方格白色背景显示的设计师。您可以通过两种方式证明这一点。首先将 Visual Studio 设置为暗模式。其次将 NavigationWindow 更改为Background=Transparent
. 您将在运行时看到它有黑色背景。另一方面,在页面上设置透明背景会导致白色背景。
尝试使用所有不透明的颜色。像这样的东西:
<NavigationWindow.Background>
<RadialGradientBrush GradientOrigin="0.496,1.052">
<RadialGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterX="0.5" CenterY="0.5"
ScaleX="1.5" ScaleY="1.5"/>
<TranslateTransform X="0.02" Y="0.0"/>
</TransformGroup>
</RadialGradientBrush.RelativeTransform>
<GradientStop Offset="1" Color="#FF4B4B4B"/>
<GradientStop Offset="0.2" Color="#FFFFFFFF"/>
</RadialGradientBrush>
</NavigationWindow.Background>
推荐阅读
- angular - 使用ngProjectAs时,Clarity datagrid如何替换一行?
- javascript - 无法在开玩笑的异步函数中运行测试
- tcp - Hyperledger Fabric:sendPeersProposal - 承诺被拒绝:错误:14 不可用:TCP 读取失败
- c++ - 不同的结果导致运算符的优先级改变
- php - 需要用数据数组过滤mysql中的数据
- java - 什么是 Java 中的扫描仪跳过以及为什么要使用它?
- python - 从python中的列表中删除单词
- javascript - React 合成事件与原生 Javascript 事件?
- java - 无法设置 com.mysql.jdbc.Blob
- ios - 快速按钮按下动作两次加载 tableview 控制器