我有一些基本按钮样式,我想继承并做一些小的更改,但不是在主样式。 我使用最小的xaml将主要问题提取到一个新的应用程序。 我想要完成的唯一事情就是在禁用按钮时更改按钮高度。
这两个触发器是我尝试过的,似乎无法工作或提供任何有关无法找到其绑定内容的调试消息。
<Button HorizontalAlignment="Center"
Height="90"
Margin="5"
Click="Button_Click"
VerticalAlignment="Bottom">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="Button.IsEnabled"
Value="False">
<Setter Property="Button.Height"
Value="50" />
</Trigger>
<DataTrigger Binding="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}}"
Value="False">
<Setter Property="Button.Height"
Value="50" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
Foo Bar
</Button>
按钮单击
private void Button_Click(object sender, RoutedEventArgs e)
{
(sender as FrameworkElement).IsEnabled = false;
}
感谢阅读。
答案 0 :(得分:0)
两个触发器都有效。您明确设置高度=“90”,覆盖您的风格!如果你想要它的工作原理你应该在样式中设置初始高度并从Button标签中删除它。
<Style TargetType="Button">
<Setter Property="Button.Height" Value="90" />
<Style.Triggers>
<Trigger Property="Button.IsEnabled"
Value="False">
<Setter Property="Button.Height"
Value="50" />
</Trigger>
</Style.Triggers>
</Style>