When I create a new UserControl
in WPF, studio creates some XAML:
<UserControl x:Class="MOG.Objects.Date.Calender"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
</Grid>
</UserControl>
In UserContol
I can also add Width property. What is difference between DesignWidth
and Width
?
Properties
d:DesignHeight
andd:DesignWidth="300"
are used because (Source
):UserControls are not embedded in a parent view.
Width
andHeight
are not set.Constructor of the root-element is not called. Root Element is replaced by the designer. ViewModel is not created.
Controls behave different. No mouse and keyboard events. Design time extensions loaded
To improve the design experience, Microsoft provides special designtime attributes that can be added to any WPF element and serve as a hint for the design tool.
All that is used in the prefix
d:
is used to design mode, these include properties such as:d:DesignWidth
d:DesignHeight
d:LayoutOverrides
d:DesignHeight
andd.DesignWidth
are for the Designer (the WYSIWYG), in Visual Studio or in Expression Blend.Height
andWidth
are actually for runtime.