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. 單擊並拖動多選複選框
- 2. WPF:列表框單擊並拖動選擇其他項目
- 3. 選中一個複選框以選擇多個複選框
- 4. 防止在多個選擇列表中單擊並拖動選擇
- 5. 拖放多個選擇框
- 6. 在Angular上選擇多個複選框單擊按鈕
- 7. 防止在fabricjs中單擊並拖動多重選擇
- 8. 基於複選框選擇的多個動態單選按鈕
- 9. 多張複選框,單擊
- 10. Snap.svg - 拖動以選擇多個項目
- 11. 如何選擇所有複選框,並通過jQuery單擊一個複選框時取消選擇?
- 12. 選擇區域點擊並拖動
- 13. ListView點擊並拖動選擇
- 14. 選擇數據複選框單擊下一步並取消選擇所選行
- 15. 單擊文本以選中複選框
- 16. 使用Javascript動態選擇多個複選框選擇
- 17. JQuery Label單擊並選擇所有複選框問題
- 18. WPF上點擊複選框
- 19. jQgrid:禁用複選框單擊並僅在複選框被單擊時選中複選框
- 20. 單擊複選框點擊選擇Jquery mobile中的所有複選框
- 21. 上點擊單元格,選擇/取消選擇複選框
- 22. 在javascript中選擇/取消選擇複選框單擊javascript
- 23. as3選取框選擇拖動多個子對象
- 24. WPF取消選擇帶複選框的複選框 - 複選框組合框
- 25. 多選擇值複選框
- 26. 角單選擇複選框
- 27. JavaScript啓用點擊複選框,並一次只選擇一個
- 28. 在選擇框中選擇並取消選擇多個選項
- 29. 從多個複選框中選擇一個複選框並獲取用戶複選框
- 30. ExtJS 4用複選框標題選擇多個CheckColumn複選框
你會意識到這不是那麼簡單,如果你開始寫一些代碼:) – kennyzx 2015-02-09 03:26:40