根据模板IsEnabled值禁用按钮单击



我有一个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时,我仍然可以进入命令。

我该如何防止这种情况发生?

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

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

相关内容

  • 没有找到相关文章

最新更新