Возможно что-то вроде этого:
var brush = new LinearGradientBrush {EndPoint = new Point(0.5, 1), StartPoint = new Point(0.5, 0)};
brush.GradientStops.Add(new GradientStop {Color = Color.FromArgb(0xFF, 0x2F, 0x4F, 0x4F), Offset = 0});
brush.GradientStops.Add(new GradientStop {Color = Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF), Offset = 1});
TheButton.Background = brush;