WP7:如何在单击子控件时阻止Grid上的click事件?

时间:2012-06-24 19:59:12

标签: windows-phone-7 events click

我编写了自己的复选框ContentControl,以便更好地进行设计控制。

情景如下:

我有一个包含自定义模板化列表项的列表框,而这些列表项又包含一个文本项和我的自定义复选框。

通缉行为:

  • 点击列表项目将页面更改为该项目的详细视图。
  • 单击该复选框仅切换其上的复选标记,并且不会触发页面更改。

实际行为:

您可能会猜到,点击我的复选框后,页面更改事件仍会被触发。

我是如何实现的:

我的复选框有一个Grid,它包含一个Rectangle和一个Icon。我将Tap事件绑定到Grid,以切换IsChecked状态。 (网格对象没有单击事件)。

是因为我没有使用点击事件吗?如果是这样,我的ContentControl必须为它实现哪个接口?或者默认的Checkbox(按钮?)控件如何管理它?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

  

我编写了自己的复选框ContentControl以实现更好的设计控制

如果你觉得你真的必须创建自己的CheckBox,你的控件应该扩展ToggleButton。这将为您提供所需的行为。如果标准复选框不适合您,我会感到非常惊讶。您可以更改复选框的样式以执行任何操作,更改为您想要的任何内容。我正在做你想做的事情,而且效果很好。我在ItemTemplate的{​​{1}}内使用了一个复选框。我已将样式设置为与常规复选框具有不同的外观。这是我的ListBox的一个示例

ListBox