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))。
为什么每种元素颜色都不同?
问题图片;
答案 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))
这将创建一个完全不透明的画笔。
...编辑......
看看上面的图片。所有矩形都具有相同的RGB值或颜色,但左边的具有透明度或10%的不透明度。如果将它们放在彼此的顶部,就可以获得不同的颜色,但它们具有相同的RGB值......