2013-12-02 5 views
0

У меня есть Button, что я даю ему стиль шаблона управления для CheckBox.Отключить кнопку Нажмите по шаблону IsEnabled Значение

Смотрите следующий код:

<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 отключен, а в пользовательском интерфейсе он действительно отключен, Button нажмите все еще работает, поэтому, когда я нажимаю отключил CheckBox Я добираюсь до команды.

Как я могу предотвратить это?

ответ

0

Вы пытались связать свойство Button.IsEnabled тоже?

В качестве альтернативы, которую я рекомендую, вы можете отключить эту команду, реализовав метод CanExecute, чтобы он возвращал false, когда вы хотите его отключить (возможно, та же логика, что и в CommandStateConverter).

+0

Я привязал свойство isEnabled к тому же свойству, и он работал хорошо, так что кнопка автоматически будет привязана к его состоянию шаблона (это означает, что флажок имеет значениеEnabled). – user1763180

+0

Нет, шаблон определяет содержимое вашей настраиваемой кнопки. У вас может быть несколько элементов управления помимо CheckBox, некоторые из них включены и другие отключены. – jnovo

Смежные вопросы