Setter不在WPF中用于用户控制的余量

时间:2016-03-31 09:23:36

标签: c# wpf

我创建了一个工作得很好的UserControl。如果我在代码中设置边距一切顺利:

<cbtn:BillLister Margin="10,5,10,5" />

然而,当我尝试为他们所在的那些人中的每个人设置它时,这不起作用:

<WrapPanel.Resources>
  <Style TargetType="cbtn:BillLister">
    <Style.Setters>
      <Setter Property="Margin" Value="150,35,50,35" />
      <Setter Property="Background" Value="Black"/>
    </Style.Setters>
  </Style>

然后,Background属性正在运行,所以我知道它的目标是正确的UserControls。

我确实找到了这个:How to give my custom control an overridable default margin?我尝试了他在那里做的事情,但仍然没有改变。

public partial class BillLister : UserControl
{
    public BillLister()
    {
        InitializeComponent();     
        Labelcount.Content = "0";
    }

    static BillLister()
    {
        MarginProperty.OverrideMetadata(typeof(BillLister), new FrameworkPropertyMetadata(new Thickness(30, 130, 30, 30)));            
    }
...

有没有人知道这里会发生什么?我不想手动设置每个边距。

更新以澄清:在尝试第二个版本时,我不会使用第一个版本的内联边距。此外,第二个示例的边距根本不适用。

0 个答案:

没有答案