访问元素父样式XAML Silverlight

时间:2014-05-21 09:53:13

标签: silverlight xaml

例如,我有以下样式:

<Style x:Key="MyStyle" TargetType="MyType">
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="MyType">
          <Grid>
             <Button x:Name="MyButton"/>
          </Grid>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>

是否可以从他那里继承不同的风格并更改按钮“MyButton”的属性?例如,更改属性Visibility?

谢谢!

1 个答案:

答案 0 :(得分:1)

实现这一目标的方法不止一种。

  1. 使用BasedOn

    <Style TargetType="MyChildType" BasedOn="{StaticResource MyStyle}" >
      <Setter Property="Template">
         <Setter.Value>
            <ControlTemplate TargetType="MyType">
              <Grid>
                <Button x:Name="MyButton" Visibility="Collapsed"/>
              </Grid>
            </ControlTemplate>
          </Setter.Value>
      </Setter>
    

  2. 将样式应用于MyButton,并将Trigger放入Style.Triggers中,以根据父级的属性更改按钮的属性