为什么每种元素颜色都不同?

时间:2018-02-22 08:25:21

标签: wpf vb.net

XAML

<Window x:Class="MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    x:Name="MainWindow" Height="300" Width="500">

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="170" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="200" />
    </Grid.RowDefinitions>

    <Border Grid.Row="0" Grid.Column="0" BorderThickness="2" Margin="5">
        <DockPanel LastChildFill="False">
            <Button DockPanel.Dock="Top" Height="20" Width="100" Content="Click Me" Name="Button1" />
            <Menu x:Name="Menu1" DockPanel.Dock="Top">
                <MenuItem x:Name="MenuItem91" Header="London" Height="40" Width="145" />
                <MenuItem x:Name="MenuItem92" Header="Paris" Height="40" Width="145" />
                <MenuItem x:Name="MenuItem93" Header="Berlin" Height="40" Width="145" />
            </Menu>
        </DockPanel>
    </Border>
</Grid>
</Window>

vb.net

Class MainWindow
Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
    Application.Current.MainWindow.Background = New SolidColorBrush(Color.FromArgb(196, 154, 3, 255))
    Menu1.Background = New SolidColorBrush(Color.FromArgb(196, 154, 3, 255))
    MenuItem91.Background = New SolidColorBrush(Color.FromArgb(196, 154, 3, 255))
    MenuItem92.Background = New SolidColorBrush(Color.FromArgb(196, 154, 3, 255))
End Sub
End Class

正如您在上面的代码中看到的,我为每个元素添加了 Color.FromArgb(196,154,3,255))

为什么每种元素颜色都不同?

问题图片;

https://prnt.sc/ii64h4

1 个答案:

答案 0 :(得分:2)

您在Solidbrush中使用透明度:

New SolidColorBrush(Color.FromArgb(196, 154, 3, 255))

这个Color.FromArgb方法的第一个参数是hte alpha通道,这意味着背景将通过你的&#39;闪耀。换句话说,背景将部分可见。

如果您只想要纯色,只需使用相同的方法,只有3个RGB参数:

New SolidColorBrush(Color.FromArgb(154, 3, 255))

这将创建一个完全不透明的画笔。

...编辑......

enter image description here

看看上面的图片。所有矩形都具有相同的RGB值或颜色,但左边的具有透明度或10%的不透明度。如果将它们放在彼此的顶部,就可以获得不同的颜色,但它们具有相同的RGB值......