我编写了自己的复选框ContentControl,以便更好地进行设计控制。
情景如下:
我有一个包含自定义模板化列表项的列表框,而这些列表项又包含一个文本项和我的自定义复选框。
通缉行为:
实际行为:
您可能会猜到,点击我的复选框后,页面更改事件仍会被触发。
我是如何实现的:
我的复选框有一个Grid,它包含一个Rectangle和一个Icon。我将Tap事件绑定到Grid,以切换IsChecked状态。 (网格对象没有单击事件)。
是因为我没有使用点击事件吗?如果是这样,我的ContentControl必须为它实现哪个接口?或者默认的Checkbox(按钮?)控件如何管理它?
感谢您的帮助。
答案 0 :(得分:1)
我编写了自己的复选框ContentControl以实现更好的设计控制
如果你觉得你真的必须创建自己的CheckBox,你的控件应该扩展ToggleButton。这将为您提供所需的行为。如果标准复选框不适合您,我会感到非常惊讶。您可以更改复选框的样式以执行任何操作,更改为您想要的任何内容。我正在做你想做的事情,而且效果很好。我在ItemTemplate
的{{1}}内使用了一个复选框。我已将样式设置为与常规复选框具有不同的外观。这是我的ListBox的一个示例
ListBox