无法在WPF中的自定义UserControl上设置边距

时间:2015-04-23 19:17:23

标签: wpf user-controls margin code-behind stackpanel

我做了一个名为SmallCtrl的简单UserControl。在另一个名为LargeCtrl的UserControl中,我使用后面的代码动态地将SmallCtrl添加到其子项列表中(用于测试):

public void LargeCtrl_Loaded(object sender, EventArgs args)
{
     for (int i = 0; i < 10; i++)
         _StackPanel.Children.Add(new SmallCtrl());
}

我使用水平方向的StackPanel,我需要它的子UserControls有一个右边距来创建它们之间的空间,这里是样式资源:

    <Grid>
        <StackPanel x:Name="_StackPanel" Orientation="Horizontal">
    <StackPanel.Resources>
        <Style TargetType="{x:Type customCtrls:SmallCtrl}">
            <Setter Property="Margin" Value="0,0,10,0"/>
        </Style>
    </StackPanel.Resources>
</StackPanel>
    </Grid>

然而,当我使用LargeCtrl加载我的窗口时,边距不会显示。如果我用TextBox替换我的SmallCtrl,一切正常。我的问题在这里是什么?

0 个答案:

没有答案