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