C# WPF中用户控件中DesignWidth和Width之间的差异

C# WPF中用户控件中DesignWidth和Width之间的差异,c#,wpf,xaml,user-controls,C#,Wpf,Xaml,User Controls,当我在WPF中创建新的UserControl时,studio会创建一些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"

当我在WPF中创建新的
UserControl
时,studio会创建一些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>


usercontrol
中,我还可以添加Width属性。
DesignWidth
Width
之间的区别是什么?

d:DesignHeight
d.DesignWidth
适用于设计师(所见即所得)、Visual Studio或Expression Blend<代码>高度和宽度实际上用于运行时。

属性
d:DesignHeight
d:DesignWidth=“300”
的使用是因为():

  • 用户控件未嵌入到父视图中<代码>宽度和高度未设置

  • 未调用根元素的构造函数。根元素由设计器替换。未创建ViewModel

  • 控件的行为不同。没有鼠标和键盘事件。 加载的设计时扩展

为了改善设计体验,Microsoft提供了特殊的designtime属性,这些属性可以添加到任何WPF元素中,并作为设计工具的提示

前缀
d:
中使用的所有内容都用于设计模式,包括以下属性:

d:DesignWidth


d:设计高度


d:LayoutOverrides

这个答案简单明了。接受答案中有太多不需要的信息