Margin value type in resources
Try this simplified way of defining Margin as a resource.
<Thickness x:Key="MarginCustom1">100</Thickness> <!--Sets L/T/R/B to 100-->
<Thickness x:Key="MarginCustom2">10,20</Thickness> <!--Sets L/R to 10 and T/B to 20 -->
<Thickness x:Key="MarginCustom3">10,10,10,10</Thickness> <!--Sets L/T/R/B respectively-->
For Margin
you want the Thickness
attributes to set it, so instead of a System:Double try;
<Thickness x:Key="Height" Left="0" Top="2" Right="0" Bottom="0" />
<Button Margin="{StaticResource Height}" Content="Hey I have a Margin now"/>
Hope this helps.