Visual studio 2010 在WPF设计器中拖放控件时,VS2010从何处获取默认属性值

Visual studio 2010 在WPF设计器中拖放控件时,VS2010从何处获取默认属性值,visual-studio-2010,wpf-controls,designer,Visual Studio 2010,Wpf Controls,Designer,在WPF设计器中拖放控件时,Visual Studio 2010将创建默认属性值 <UserControl x:Class="TestPanel.UserControl1" <Grid> <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="12,12,0,0" Name="button1" VerticalAlignment="Top" Width="75"

在WPF设计器中拖放控件时,Visual Studio 2010将创建默认属性值

<UserControl x:Class="TestPanel.UserControl1"
    <Grid>
        <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="12,12,0,0" Name="button1" VerticalAlignment="Top" Width="75" />
    </Grid>
</UserControl>

高度
和宽度都是
依赖属性
,当您为控件注册依赖属性时,您可以设置Visual Studio或
XAML设计器
可以使用的依赖属性的默认值

默认值在
FrameworkPropertyMatadata
类构造函数中设置,如下代码所示:

//Default value is set to Top
Control.VerticalContentAlignmentProperty = DependencyProperty.Register("VerticalContentAlignment", typeof(VerticalAlignment), typeof(Control), new FrameworkPropertyMetadata(VerticalAlignment.Top), new ValidateValueCallback(FrameworkElement.ValidateVerticalAlignmentValue));

//Default value is set to Left
Control.HorizontalContentAlignmentProperty = DependencyProperty.Register("HorizontalContentAlignment", typeof(HorizontalAlignment), typeof(Control), new FrameworkPropertyMetadata(HorizontalAlignment.Left), new ValidateValueCallback(FrameworkElement.ValidateHorizontalAlignmentValue));

Height
Width
都是
依赖属性
,当您为控件注册依赖属性时,可以设置
Visual Studio
XAML设计器
可以使用的依赖属性的默认值

默认值在
FrameworkPropertyMatadata
类构造函数中设置,如下代码所示:

//Default value is set to Top
Control.VerticalContentAlignmentProperty = DependencyProperty.Register("VerticalContentAlignment", typeof(VerticalAlignment), typeof(Control), new FrameworkPropertyMetadata(VerticalAlignment.Top), new ValidateValueCallback(FrameworkElement.ValidateVerticalAlignmentValue));

//Default value is set to Left
Control.HorizontalContentAlignmentProperty = DependencyProperty.Register("HorizontalContentAlignment", typeof(HorizontalAlignment), typeof(Control), new FrameworkPropertyMetadata(HorizontalAlignment.Left), new ValidateValueCallback(FrameworkElement.ValidateHorizontalAlignmentValue));