[英]Display mouse position in Silverlight 5, MVVM
記錄:我是Silverlight和XAML的新手。
我試圖在我的畫布(或任何其他元素)中簡單地顯示鼠標坐標。 在閱讀了很多關於這個主題的內容之后,不幸的是我還沒有想到這一點。 我的Silverlight 5項目使用MVVM和Caliburn micro。
如何才能做到這一點? 會對實現這一點感到欣慰。
謝了,兄弟們。
您需要更加具體地了解您嘗試使用什么控件,但是您是否嘗試過連接到MouseMove
事件? 像MouseMove="Handle_MouseMove"
public void Handle_MouseMove(object sender, MouseEventArgs args)
{
mouseVerticalPosition = args.GetPosition(null).Y;
mouseHorizontalPosition = args.GetPosition(null).X;
}
這就是你要找的東西嗎?
如果您希望在整個畫布上進行此操作,則可以將其連接到PointerMoved
請參閱MouseEventArgs 。 這可以獲得X
和Y
位置,它可以與MouseUp
, MouseDown
和MouseMove
事件一起使用。
要完成tnw答案:您必須在對象上啟動鼠標捕獲 : MyElement.CaptureMouse()
在處理程序方法中,您可以在MouseEventArgs上使用GetPosition ,並在參數中使用相對坐標的UIElement ...
public void Handle_MouseMove(object e, MouseEventArgs f)
{
var point = f.GetPosition(MyElement);
}
您必須捕獲鼠標單擊事件,並且有一些事件處理程序可以使用它來捕獲位置。
private void CadLayoutRoot_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
double point1 = e.GetPosition(bitmapCadView.UIElement).X;
double point2 = e.GetPosition(bitmapCadView.UIElement).Y;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.