如何使用LinearGradientBrush和Background

wpf*_*ner 4 wpf brush lineargradientbrush

我正在尝试使用LinearGradientBrush绘制我的WPF窗口的背景,但是我的代码不起作用.这是代码

LinearGradientBrush gradientBrush = new  LinearGradientBrush( Color.FromArgb(0, 209, 227, 250),  Color.FromArgb(0, 170, 199, 238), new Point(0.5, 0), new Point(0.5, 1));
Background = gradientBrush;
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的窗户仍然是白色的.是否可以使用后面的代码更改窗口的背景颜色?

小智 10

您还要设置Alpha设置.使用它代替,因为你想要颜色:

LinearGradientBrush gradientBrush = new  LinearGradientBrush( Color.FromRgb( 209, 227, 250),  Color.FromRgb(170, 199, 238), new Point(0.5, 0), new Point(0.5, 1));
Background = gradientBrush;
Run Code Online (Sandbox Code Playgroud)


小智 8

<Border.Background>
  <LinearGradientBrush StartPoint="0 0" EndPoint="0 1">
    <LinearGradientBrush.GradientStops>
      <GradientStop Offset="0.1" Color="{Binding Path=YourBindColor1}" />
      <GradientStop Offset="1" Color="{Binding Path=YourBindColor2}" />
    </LinearGradientBrush.GradientStops>
  </LinearGradientBrush>
</Border.Background>

//Use binding colors
Run Code Online (Sandbox Code Playgroud)


Max*_*lov 0

将 Window.Background 设置为不同的画笔应该可以。

确保您的背景属性未通过 {Binding} 指令将数据绑定到属性。

另外,尝试将其设置为更简单的画笔 - 例如

Background = new SolidColorBrush(Colors.Black);