using System;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
class MainClass: Window
{
LinearGradientBrush brush;
[STAThread]
public static void Main()
{
Application app = new Application();
app.Run(new MainClass());
}
public MainClass()
{
Title = "title";
SizeChanged += WindowOnSizeChanged;
brush = new LinearGradientBrush(Colors.Red, Colors.Blue, 0);
brush.MappingMode = BrushMappingMode.Absolute;
Background = brush;
}
void WindowOnSizeChanged(object sender, SizeChangedEventArgs args)
{
double width = 200;
double height = 200;
Point ptCenter = new Point(width / 3, height / 3);
Vector vectDiag = new Vector(width, -height);
Vector vectPerp = new Vector(vectDiag.Y, -vectDiag.X);
vectPerp.Normalize();
vectPerp *= width * height / vectDiag.Length;
brush.StartPoint = ptCenter + vectPerp;
brush.EndPoint = ptCenter - vectPerp;
}
}