<Button Content="Click me!" Width="100" Height="100" />
Do you really know how many pixels in the button's width and height?
Clicking F1 on Width and Height properties in Visual Studio, it is written that the "value is interpreted as a device-independent unit (1/96th inch) measurement".
Now, the default value of DPI (dots per inch) in a default Windows installation with a simple Monitor is 96. Now let's calculate how many pixels you have: px = 100/96 * dpi ==> if dpi=96 then px=100, else, if dpi=120 then px=125.
What does it means?
It means that your UI will look much larger in DPI > 96 and much smaller in DPI < 96 under the same resolution!
Why it is said that WPF is device independent?
I can't tell you the answer because I don't know. Even if you choose to work with "cm" or "in", first you will not get the correct size (measure it!), and second if you change the resolution the size will change also. So ask the WPF team to get the correct answer for that.
Still, I can give you tools to create a real DPI independent UI, in case that you must display exactly the same amount of pixels, no matter what the DPI is.
If you want pixels just recalculate the value using the formula:
finalPixels = desiredPixels * 96 / DPI
Use one of the following methods to calculate the final value dynamically via XAML (I prefer the second one):
Custom Value Converter based Formula
<Button Content="Click Me!" Width="{Binding Converter={StaticResource PixelConverter}, ConverterParameter=100}" />
Custom px Markup Extension based Formula
<Button Content="Click Me!" Width="{local:px 100}" />
You can download the code for these two methods from here.