从 UI 的角度来看,(在您的任务中)按钮是否禁用并不重要。 您的任务是使禁用的按钮不可见。 对于 Collapsed,使用 .Net 中已有的转换器就足够了:
<!-- In your resources section of the XAML -->
<BooleanToVisibilityConverter x:Key="BoolToVis" />
<Button
Command="{Binding CommandEdit}"
Content="Edit"
Visibility="{Binding IsEnabled,
RelativeSource={RelativeSource Self},
Converter={StaticResource BoolToVis}}" />
对于隐藏或状态反转,您需要使用自己的自定义转换器或设置样式触发器。