WPF检测鼠标移动?

以及即时通讯试图让我自己的基本滑块控件,这样我可以学习如何升技用鼠标交互...

到目前为止,我有这样的:

vb.net:

Private Sub Rectangle_MouseMove(ByVal sender as Object, ByVal e as System.Windows.Input.MouseEventArgs) If (e.LeftButton = MouseButtonState.Pressed) Then Dim p As Point = Mouse.GetPosition(Me) Rectangle.SetValue(FrameworkElement.MarginProperty, New Thickness(pX - Rectangle.Width / 2, 0, 0, 0)) End If End Sub Private Sub Rectangle_MouseDown(ByVal sender as Object, ByVal e as System.Windows.Input.MouseButtonEventArgs) End Sub Private Sub Rectangle_MouseUp(ByVal sender as Object, ByVal e as System.Windows.Input.MouseButtonEventArgs) End Sub

XAML:

<Rectangle x:Name="Rectangle" Fill="White" Stroke="Black" HorizontalAlignment="Left" Margin="0" VerticalAlignment="Top" Width="100" Height="75" MouseMove="Rectangle_MouseMove" MouseDown="Rectangle_MouseDown" MouseUp="Rectangle_MouseUp"/>

所以这个工程,而鼠标在矩形..但如果​​我们看看如何滑块行为的不一样,你点击并按住鼠标,甚至窗外可以任何地方拖动它,它仍然更新其位置..

所以,这是怎么做的? 我的猜测是它的鼠标类,但我不知道如何使用它。

--------------解决方案-------------

尝试使用Mouse.Capture方法。

你传递一个引用到你的控制和:

当一个元素捕获鼠标,它接收鼠标输入光标是否在其境内。

如果没有指定CaptureMode,则默认CaptureMode的元素。

记下CaptureMode过载。 此枚举可以帮助你,如果有子元素等捕捉

分类:WPF 时间:2015-03-15 人气:5
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.530 (s). 10 q(s)