0

我有一个Button,我给它一个控制模板样式CheckBox

请参阅以下代码:

<Style x:Key="radButtonCheakBoxStyle" TargetType="{x:Type telerik:RadButton}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type telerik:RadButton}">
                <CheckBox Content="{Binding ., 
Converter={StaticResource ContentConverter}}" 
Command="{TemplateBinding Property=Command}" 
IsEnabled="{Binding State,Converter={StaticResource CommandStateConverter}}"/>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

问题是,即使CheckBox禁用,并且在 UI 中它确实被禁用,Button点击仍然有效,所以当我按下禁用时,CheckBox我仍然可以获得命令。

我怎样才能防止这种情况?

4

1 回答 1

0

您是否也尝试过绑定 Button.IsEnabled 属性?

作为替代方案 - 我建议 - 您可以通过实现 CanExecute 方法来禁用该命令,以便在您希望禁用它时返回 false(可能与您在 CommandStateConverter 中找到的逻辑相同)。

于 2013-12-02T16:29:38.283 回答