0

我将 Silverlight 与 MVVM 一起使用(使用 Caliburn.Micro)。我在视图中创建了一个简单的矩形,如下所示:

<Rectangle x:Name="Rectangle2" cal:Message.Attach="[Event MouseMove] = [Action MouseMoved($eventArgs)]" Fill="#FFE2F5FF" HorizontalAlignment="Left" Height="220" Margin="195,43,0,0" Stroke="Black" VerticalAlignment="Top" Width="195" />

在 ViewModel 我有:

public void MouseMoved(MouseEventArgs mouseEventArgs)
{
        var point = mouseEventArgs.GetPosition(null);
        String str = string.Format("({0}\t{1})",point.X,point.Y);
        MVVMCoords = str;
}

出现的坐标是绝对的,因为我在 GetPosition 中输入了 null。如何使它们相对于矩形?(所以矩形的左上角是 0,0)据我了解,这可以在 ViewModel 不知道 View 中的 UIElements 的情况下完成。

谢了,兄弟们

4

0 回答 0