我正在开发一个应用程序,为数据库中的每一行创建一个新的WPF边框组件。这意味着我必须在C#中为边框组件设置样式,而不是像之前一样在XAML中进行设置。到目前为止,样式已经很好了,只是在尝试设置背景透明度时遇到了问题。
motherboards.Add(new Border());
Border moboBorder = motherboards[i];
moboBorder.Width = 150;
moboBorder.Height = 150;
moboBorder.BorderBrush = Brushes.Black;
moboBorder.Background = Brushes.White;
moboBorder.CornerRadius = new CornerRadius(10);
moboBorder.Margin = new Thickness(5);
moboBorder.BorderThickness = new Thickness(1);
您可以在XAML中像这样调整背景透明度。
<Border BorderThickness="1" Height="100" Width="100">
<Border.BorderBrush>
<SolidColorBrush Color="Black" Opacity="0.7"/>
</Border.BorderBrush>
</Border>
但是,正如我所说的,我正在使用C#创建组件,而不是XAML。 我猜这就是你如何在C#中设置值。
moboBorder.Background.Opacity = //Value
然而,我无法确定它需要哪种类型的值,不仅仅是一个纯粹的数字,从我所看到的刷子中也没有找到类似 = new Opacity() 的东西。
我尝试过在谷歌上搜索,但所有的内容都是关于设置整个元素的不透明度,而不仅仅是它的背景。
Background = new SolidColorBrush(((SolidColorBrush)Background).Color) { Opacity = 0.5 };
- 15ee8f99-57ff-4f92-890c-b56153Brush
的Opacity
属性。你需要使用一个带有你想要的Opacity
的Brush
来设置Background
本身。 - Geoff James