I have just started using WPF. I\'m getting my head around styling system since. I come from a CSS background and I would like to set margin in percentage.
Here's how you implement 20% left and right margins in WPF:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="6*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1" Text="Hello, world."/>
</Grid>
This may seem ridiculously verbose if what you're trying to do is re-implement a simple CSS layout in WPF, but that's because implementing simple CSS layouts is really not the problem space WPF is designed around.
Instead of using Margin, you can do this via a Grid.
Just place your control within a Grid element, and use 3 columns and 3 rows. The column/row sizing can be done as percentages of the containing element.