簡體   English   中英

在Silverlight 5,MVVM中顯示鼠標位置

[英]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 這可以獲得XY位置,它可以與MouseUpMouseDownMouseMove事件一起使用。

要完成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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM