我刚开始深入了解C#和WPF设计,所以不介意我要求一些基础知识。
我正在尝试将我们的一个互联网应用程序移植到c#应用程序并遇到一些困难。
我需要4个复选框,看起来像这样。如果单击它们,它们应该看起来像第二个。
http://frauneder.com/checkbox_example.jpg
我能够通过点击改变的图像来做到这一点,但在那里我想念缺血的财产。
第二个问题: 我想使用键盘上的1-4键选中/取消选中复选框。我该怎么做?
提前非常好!
答案 0 :(得分: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>
这里还有更多需要考虑的问题,但这应该可以让你开始。
2 - 当控件收到某些输入时,您可以使用InputBindings
执行命令。因此,您可以根据传递给命令的参数定义检查或取消选中相应CheckBox
的命令。然后你可以做这样的事情:
<CheckBox>
<CheckBox.InputBindings>
<KeyBinding Key="1" Command="{x:Static local:Commands.YourCommand}" CommandParameter="1"/>
</CheckBox.InputBindings>
</CheckBox>
同样,有很多方法可以解决您的问题。希望这会引导你朝着正确的方向前进。