WPF 内联样式未设置模板值
WPF Inline style not setting template values
我想继承一些基本按钮样式并进行一些小的更改,但不是主要样式。
我用最少的 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;
}
感谢阅读。
两个触发器都有效。您明确设置了 Height="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>
我想继承一些基本按钮样式并进行一些小的更改,但不是主要样式。 我用最少的 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;
}
感谢阅读。
两个触发器都有效。您明确设置了 Height="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>