Как использовать LinearGradientBrush и Background

Я пытаюсь нарисовать фон моего окна WPF, используя LinearGradientBrush, однако мой код не работает. Вот код

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;

К сожалению, мое окно все еще белое. Можно ли изменить цвет фона окна с помощью кода позади?

3 ответа

Вы также устанавливаете настройку альфа. Используйте это вместо этого, так как вы хотите цвет:

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;
  <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>

// Используем цвета привязки

Установка Window.Background на другую Brush должна работать.

Убедитесь, что ваше свойство Background не привязано к свойству через директиву {Binding}.

Кроме того, попробуйте установить более простую кисть - например,

Background = new SolidColorBrush(Colors.Black);

Другие вопросы по тегам