WPF:根据容器更改填充?

时间:2010-04-12 11:01:42

标签: wpf styles

我有一个名为MyUserControl的UserControl,另一个名为MyContainer的UserControl。 我希望MyUserControl如果放在MyContainer中则填充10,否则为15。 不久,我想要

<MyContainer>
  <MyUserControl>
   Hello
  </MyUserControl>
</MyContainer>

看起来像

<MyContainer>
  <UserControl Padding="10">
   Hello
  </UserControl>
<MyContainer>

<MyUserControl>
 Hello
</MyUserControl>

看起来像

<UserControl Padding="15">
  Hello
</UserControl>

1 个答案:

答案 0 :(得分:1)

您可以尝试使用父属性

<Style.Setters>
    <Setter Property="Control.Padding" Value="15" />
</Style.Setters>
<Style.Triggers>
    <Trigger Property="Control.Parent" Value="MyContainer">
        <Setter Property="Control.Padding" Value="10" />
    </Trigger>
</Style.Triggers>

对不起,如果有任何语法或其他问题,因为我在这里没有ide。