Я не уверен, что полностью понимаю ваши вопросы, но позвольте мне попробовать. Все зависит от того, насколько глубоко вы хотите пойти сюда. Есть много способов обмануть этого кота.
- Я думаю, что вы спрашиваете, как использовать IsChecked
свойство влиять на внешний вид CheckBox
? Способ сделать это - переформатировать CheckBox
и использовать триггер в шаблоне. Что-то вроде этого:
<CheckBox>
<CheckBox.Template>
<ControlTemplate TargetType="CheckBox">
<StackPanel Orientation="Horizontal">
<Image x:Name="_image" Source="Unchecked.jpg"/>
<ContentControl Content="{Binding Content}"/>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="_image" Property="Source" Value="Checked.jpg"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</CheckBox.Template>
</CheckBox>
Здесь еще нужно рассмотреть, но это должно вас начать.
- Вы можете использовать InputBindings
для выполнения команды, когда какой-либо вход принят элементом управления. Таким образом, вы можете определить команду, которая проверяет или отменяет соответствующий CheckBox
на основе параметра, переданного команде. Затем вы можете сделать что-то вроде этого:
<CheckBox>
<CheckBox.InputBindings>
<KeyBinding Key="1" Command="{x:Static local:Commands.YourCommand}" CommandParameter="1"/>
</CheckBox.InputBindings>
</CheckBox>
Опять же, здесь есть много способов решить ваши проблемы. Надеюсь, это направит вас в правильном направлении.
THX для этого! начинаю понимать :) – 2009-08-18 09:40:24