多个按钮上的WPF样式和模板?
我似乎无法获得正确的组合以达到预期效果: 当前XAML:多个按钮上的WPF样式和模板?,wpf,binding,styles,controltemplate,relativesource,Wpf,Binding,Styles,Controltemplate,Relativesource,我似乎无法获得正确的组合以达到预期效果: 当前XAML: <Button Content="Foo" prism:Click.Command="{Binding FooCommand}" Visibility="{Binding IsEnabled, RelativeSource={RelativeSource Self}, Converter={ncon:VisibilityBooleanConverter}}" /> <Button Content="Bar
<Button Content="Foo" prism:Click.Command="{Binding FooCommand}"
Visibility="{Binding IsEnabled, RelativeSource={RelativeSource Self}, Converter={ncon:VisibilityBooleanConverter}}" />
<Button Content="Bar" prism:Click.Command="{Binding BarCommand}"
Visibility="{Binding IsEnabled, RelativeSource={RelativeSource Self}, Converter={ncon:VisibilityBooleanConverter}}" />
我想提取出Visibility=“{Binding IsEnabled,RelativeSource={RelativeSource Self},Converter={ncon:VisibilityBooleanConverter}}”
作为一种样式应用于所有按钮(在此UserControl资源中)。我似乎无法找到正确的组合来实现这一点
基本上,它所做的不是仅仅基于ICommand.CanExecute
禁用按钮,而是使用布尔可视性转换器将依赖性属性绑定到按钮的可视性,这样按钮不仅被禁用,而且被折叠。
<Style x:Key="ButtonStyle" TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}, Converter={ncon:VisibilityBooleanConverter}}" Value="Visible">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
我想样式应该是这样的:
<Style TargetType="{x:Type Button}">
<Setter Property="Visibility"
Value="{Binding IsEnabled, RelativeSource={RelativeSource Self}, Converter={ncon:VisibilityBooleanConverter}}"/>
</Style>
这不管用吗?我想风格应该是这样的:
<Style TargetType="{x:Type Button}">
<Setter Property="Visibility"
Value="{Binding IsEnabled, RelativeSource={RelativeSource Self}, Converter={ncon:VisibilityBooleanConverter}}"/>
</Style>
那不管用吗?管用。。。我猜我犯了一个错误,我试图使用TemplateBinding来避免使用RelativeSource,但这不起作用。这是有效的。。。我想我犯了一个错误,我试图使用TemplateBinding来避免使用RelativeSource,但它不起作用。