【发布时间】:2017-06-22 16:08:28
【问题描述】:
在我的 WPF 应用程序中,我使用一条线和一些矩形来制作图形。但是,当我将线设置为白色时,它显示为灰色。我将线条颜色更改为与旁边的红色矩形相同,很明显线条更暗。这是我对直线和矩形的实例化:
<Line Grid.Row="2" X1="0" Y1="0" X2="0" Y2="105"
StrokeThickness="1" Stroke="{StaticResource FgRedBrush}" SnapsToDevicePixels="True" UseLayoutRounding="True"
Margin="10 0 0 10" VerticalAlignment="Bottom" StrokeEndLineCap="Flat" />
<Rectangle Grid.Row="2" Width="100" Height="30"
Fill="{StaticResource FgGreenBrush}"
Margin="11 0 0 25" VerticalAlignment="Bottom" HorizontalAlignment="Left" />
<Rectangle Grid.Row="2" Width="170" Height="30"
Fill="{StaticResource FgRedBrush}"
Margin="11 0 0 70" VerticalAlignment="Bottom" HorizontalAlignment="Left" />
不要介意硬编码,我只是对布局有所了解。
定义画笔资源的文件:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Financial_Manager.Colors">
<Color x:Key="ForegroundLight">#D7F6F6</Color>
<Color x:Key="ForegroundDark">#898989</Color>
<Color x:Key="ForegroundPurple">#D228FF</Color>
<Color x:Key="ForegroundBlue">#4DC6D2</Color>
<Color x:Key="ForegroundOrange">#F99D10</Color>
<Color x:Key="ForegroundGreen">#37AE53</Color>
<Color x:Key="ForegroundRed">#CE260B</Color>
<Color x:Key="ForegroundYellow">#CCFF00</Color>
<SolidColorBrush x:Key="FgLightBrush" Color="{StaticResource ForegroundLight}" />
<SolidColorBrush x:Key="FgDarkBrush" Color="{StaticResource ForegroundDark}" />
<SolidColorBrush x:Key="FgPurpleBrush" Color="{StaticResource ForegroundPurple}" />
<SolidColorBrush x:Key="FgBlueBrush" Color="{StaticResource ForegroundBlue}" />
<SolidColorBrush x:Key="FgOrangeBrush" Color="{StaticResource ForegroundOrange}" />
<SolidColorBrush x:Key="FgGreenBrush" Color="{StaticResource ForegroundGreen}" />
<SolidColorBrush x:Key="FgRedBrush" Color="{StaticResource ForegroundRed}" />
<SolidColorBrush x:Key="FgYellowBrush" Color="{StaticResource ForegroundYellow}" />
<Color x:Key="BackgroundLight">#0D0A1C</Color>
<Color x:Key="BackgroundDark">#080610</Color>
<SolidColorBrush x:Key="BgLightBrush" Color="{StaticResource BackgroundLight}" />
<SolidColorBrush x:Key="BgDarkBrush" Color="{StaticResource BackgroundDark}" />
【问题讨论】:
-
能否包含定义
fgRedBrush的资源文件?尽管从您的代码中看起来 stroke 和 fill 都使用相同的值,但您可能会根据上下文得到不同的定义(例如,这个值可能定义了两次;一次用于目标类型行,一次用于目标类型矩形。 -
我正在用它更新问题
-
@JohnLBevan
{StaticResource FgRedBrush}这应该有什么不同,仅仅因为它使用了两次? Brush 资源没有目标类型。 -
是的,这不重要,但我包括它以防万一
-
线条的默认样式不会降低其不透明度吗? 2倍以上的厚度看起来怎么样?