C#wpf问题自定义复选框

2 c# wpf checkbox

我刚开始深入研究C#和WPF设计,所以不介意我要求一些基础知识.

我正在尝试将我们的一个互联网应用程序移植到ac#应用程序并遇到一些困难.

我需要4个复选框,看起来像这样.如果单击它们,它们应该看起来像第二个.

http://frauneder.com/checkbox_example.jpg

我能够通过点击改变的图像来做到这一点,但在那里我想念缺血的财产.

第二个问题:我想使用键盘上的1-4键选中/取消选中复选框.我该怎么做呢?

Thanx非常提前!

Ken*_*art 11

我不确定我完全理解你的问题,但让我试一试.这一切都很重要,你也想去这里.有很多方法可以给这只猫上皮.

1 - 我想你问的是如何用这个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>
Run Code Online (Sandbox Code Playgroud)

这里还有更多需要考虑的问题,但这应该让你开始.

2 - InputBindings当控件接收到某些输入时,您可以使用它来执行命令.因此,您可以CheckBox根据传递给命令的参数定义检查或取消选中相应内容的命令.然后你可以做这样的事情:

<CheckBox>
    <CheckBox.InputBindings>
        <KeyBinding Key="1" Command="{x:Static local:Commands.YourCommand}" CommandParameter="1"/>
    </CheckBox.InputBindings>
</CheckBox>
Run Code Online (Sandbox Code Playgroud)

同样,有很多方法可以解决您的问题.希望这会引导您朝着正确的方向前进.