I want to stick to the DRY principle, so I have about 20 buttons in a grid, and they all have the same margin, they look like this:
<Button Grid.Column="0" Grid.Row="0" Margin="3"/>
<Button Grid.Column="0" Grid.Row="1" Margin="3"/>
<Button Grid.Column="0" Grid.Row="2" Margin="3"/>
<Button Grid.Column="0" Grid.Row="3" Margin="3"/>
<Button Grid.Column="0" Grid.Row="4" Margin="3"/>
<Button Grid.Column="1" Grid.Row="0" Margin="3"/>
<Button Grid.Column="1" Grid.Row="1" Margin="3"/>
<Button Grid.Column="1" Grid.Row="2" Margin="3"/>
<Button Grid.Column="1" Grid.Row="3" Margin="3"/>
<Button Grid.Column="1" Grid.Row="4" Margin="3"/>
<Button Grid.Column="2" Grid.Row="0" Margin="3"/>
<Button Grid.Column="2" Grid.Row="1" Margin="3"/>
<Button Grid.Column="2" Grid.Row="2" Margin="3"/>
<Button Grid.Column="2" Grid.Row="3" Margin="3"/>
<Button Grid.Column="2" Grid.Row="4" Margin="3"/>
<Button Grid.Column="3" Grid.Row="0" Margin="3"/>
<Button Grid.Column="3" Grid.Row="1" Margin="3"/>
<Button Grid.Column="3" Grid.Row="2" Margin="3"/>
<Button Grid.Column="3" Grid.Row="3" Margin="3"/>
<Button Grid.Column="3" Grid.Row="4" Margin="3"/>
I want to add a variable called something like "ButtonMargin", set it to 3, and then set the margin of each of these buttons to ButtonMargin because in case I want to change it in the future this way I'll only change one variable instead of 20.
I tried having an actual variable inside the .cs file string ButtonMargin;
and set it to "3"
inside the constructor, but I get an invalid markup error when writing Margin = ButtonMargin
or Margin = this.ButtonMargin
inside the XAML file.
How do I do it properly?