Возьмем в пример такое окно:
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Button Content="Change color"
Click="Button_Click"
Margin="15"/>
<Rectangle Name="MyRectangle"
Grid.Row="1"
Margin="15"
Fill="Red"/>
</Grid>
Объявим 2 переменные в классе окна:
private List<SolidColorBrush> brushes;
private Random rnd;
Инициализируем в конструкторе:
public MainWindow()
{
InitializeComponent();
rnd = new Random();
brushes = new List<SolidColorBrush> //заполняем цвета, которые будет принимать Rectangle
{
Brushes.AliceBlue,
Brushes.AntiqueWhite,
Brushes.Aqua,
Brushes.Aquamarine
};
}
И в конце код самой кнопки:
private void Button_Click(object sender, RoutedEventArgs e)
{
MyRectangle.Fill = brushes[rnd.Next(0, brushes.Count)];
}