Даже если вы установили CanUserUpdateHosts в значение true, Style.Setter не сможет переопределить явное значение, которое вы указали в объявлении Button.См. Страницу Значение свойства зависимости Приоритет .Установщики стилей в триггерах находятся на # 6, в то время как явное значение равно 3.
Вам нужно будет изменить свою логику, например, так:
<Button Command="{Binding ResolveHostsCommand}" VerticalAlignment="Center" IsEnabled="{Binding CanUserUpdateHosts}" Grid.Column="0" Content="Resolve" />
<Button VerticalAlignment="Center" Content="Cancel" Grid.Column="1">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding CanUserUpdateHosts}" Value="False">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
Или вы можете установить IsEnabled наfalse, используя Setter вашего стиля, например:
<Button Command="{Binding ResolveHostsCommand}" VerticalAlignment="Center" IsEnabled="{Binding CanUserUpdateHosts}" Grid.Column="0" Content="Resolve" />
<Button VerticalAlignment="Center" Content="Cancel" Grid.Column="1">
<Button.Style>
<Style TargetType="Button">
<Setter Property="IsEnabled" Value="False"/>
<Style.Triggers>
<DataTrigger Binding="{Binding CanUserUpdateHosts}" Value="True">
<Setter Property="IsEnabled" Value="True"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>