有人可以告诉我为什么这个触发器不起作用:
<!--Style-->
<Style x:Key="Test" TargetType="{x:Type Expander}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="IsExpanded" Value="false"></Setter>
</Trigger>
</Style.Triggers>
</Style>
<!-- Syle applyed in expander -->
<Expander Header="Expander" Margin="40,89,118,0" Name="expander1" Height="23" VerticalAlignment="Top" >
<Grid>
<Ellipse Height="100" Margin="86,0,-8,-58" Name="ellipse1" Stroke="Black" VerticalAlignment="Bottom" />
</Grid>
</Expander>
<!-- Code Behind -->
private void button1_Click(object sender, RoutedEventArgs e)
{
this.expander1.IsEnabled = false;
}
我尝试其他方式,但没有成功.. 有另一种方法在禁用扩展器时折叠内容。
答案 0 :(得分:1)
您需要将样式应用于Expander,如:
<Expander Header="Expander" Name="expander1" Style="{StaticResource Test}" >
...
</Expander>
如果您不想显式应用该样式,则不要声明x:Key="Test"
,并且所有Expanders都与该资源在同一范围内(即,如果您声明{{1},则该特定页面中的所有Expanders在x:Key="Test"
)中将继承该样式。
答案 1 :(得分:0)
谢谢,但我忘记了你提到的代码块。我在Style标签中添加了一个引用,问题仍然存在。