1
A
回答
3
不太难。
代码隐藏
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Checkbox_OnMouseEnter(object sender, MouseEventArgs e)
{
var checkbox = sender as CheckBox;
if (e.LeftButton == MouseButtonState.Pressed)
{
if (checkbox != null)
{
checkbox.IsChecked = !checkbox.IsChecked;
}
}
}
private void UIElement_OnGotMouseCapture(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
var checkbox = sender as CheckBox;
if (checkbox != null)
{
checkbox.IsChecked = !checkbox.IsChecked;
checkbox.ReleaseMouseCapture();
}
}
}
XAML
<Window x:Class="ClickAndDrag.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<CheckBox MouseEnter="Checkbox_OnMouseEnter" GotMouseCapture="UIElement_OnGotMouseCapture"/>
<CheckBox MouseEnter="Checkbox_OnMouseEnter" GotMouseCapture="UIElement_OnGotMouseCapture"/>
<CheckBox MouseEnter="Checkbox_OnMouseEnter" GotMouseCapture="UIElement_OnGotMouseCapture"/>
<CheckBox MouseEnter="Checkbox_OnMouseEnter" GotMouseCapture="UIElement_OnGotMouseCapture"/>
<CheckBox MouseEnter="Checkbox_OnMouseEnter" GotMouseCapture="UIElement_OnGotMouseCapture"/>
<CheckBox MouseEnter="Checkbox_OnMouseEnter" GotMouseCapture="UIElement_OnGotMouseCapture"/>
</StackPanel>
原因释放鼠标捕获是为了防止一个复选框吞下所有的事件被点击时。
+0
完美,谢谢! – 2confused4u 2015-02-09 11:46:54
相关问题
- 1. WPF:列表框单击并拖动选择其他项目
- 2. 拖放多个选择框
- 3. 在Angular上选择多个复选框单击按钮
- 4. 防止在fabricjs中单击并拖动多重选择
- 5. 基于复选框选择的多个动态单选按钮
- 6. Snap.svg - 拖动以选择多个项目
- 7. 如何选择所有复选框,并通过jQuery单击一个复选框时取消选择?
- 8. ListView点击并拖动选择
- 9. 单击文本以选中复选框
- 10. 使用Javascript动态选择多个复选框选择
- 11. WPF上点击复选框
- 12. jQgrid:禁用复选框单击并仅在复选框被单击时选中复选框
- 13. 单击复选框点击选择Jquery mobile中的所有复选框
- 14. 上点击单元格,选择/取消选择复选框
- 15. as3选取框选择拖动多个子对象
- 16. WPF取消选择带复选框的复选框 - 复选框组合框
- 17. JavaScript启用点击复选框,并一次只选择一个
- 18. 在选择框中选择并取消选择多个选项
- 19. 取消多个复选框中的复选框选择状态
- 20. ExtJS 4用复选框标题选择多个CheckColumn复选框
- 21. 在cakephp中选择多个复选框?
- 22. 黄瓜选择多个复选框
- 23. Jquery选择多个复选框
- 24. 选择多个复选框的问题
- 25. 在qt中选择多个复选框
- 26. 检查其他复选框选择单个复选框?
- 27. 选择多个复选框按CNTRL +点击
- 28. Javascript单击/拖动并选择表行和列
- 29. jQuery - 单击链接以选择一个选择菜单选项
- 30. 捕获WPF Listbox复选框选择
你会意识到这不是那么简单,如果你开始写一些代码:) – kennyzx 2015-02-09 03:26:40