Caliburn.Micro点击事件寻找图像点并计算距离
Caliburn.Micro Click Event To find Image Point and calculate Distance
您好,我遇到了寻找图像点的问题。我的 objective 是当我单击两个点时,我必须找到两个点之间的距离。这是我的代码
<ImageGrid.Row="3" Grid.Column="2" Grid.ColumnSpan="4" x:Name="DIIMG2" cal:Message.Attach="[Event MouseDown]=[Action GetImagePoint($eventArgs)]"></Image>
在这里你可以看到我使用了 MouseDown 事件并且当事件触发时我不能使用 X,Y 坐标来获取点值例如下面的代码
public void GetImagePoint(object sender, MouseEventArgs e)
{
int myX = e.X;
int myY = e.Y;
}
我遇到编译错误,例如 'MouseEventArgs' 不包含 'X' 的定义,并且找不到接受类型 'MouseEventArgs' 的第一个参数的可访问扩展方法 'X' (您是否缺少 using 指令或程序集引用?)。如何克服这个。我需要找到 X 和 Y 值表示坐标值。提前致谢。
在您的 WPF 中定义了 2 个参数 GetImagePoint($source, $eventArgs)
,
并且在您访问 (X,Y) 的函数中,您使用 GetPosition 方法:
public void GetImagePoint(object sender, System.Windows.Input.MouseEventArgs e)
{
if (!(sender is System.Windows.Controls.Image)) return;
System.Windows.Point px = e.GetPosition((System.Windows.Controls.Image)sender);
int myX = (int)px.X;
int myY = (int)px.Y;
}
我建议你检查鼠标是否点击了图像:
您好,我遇到了寻找图像点的问题。我的 objective 是当我单击两个点时,我必须找到两个点之间的距离。这是我的代码
<ImageGrid.Row="3" Grid.Column="2" Grid.ColumnSpan="4" x:Name="DIIMG2" cal:Message.Attach="[Event MouseDown]=[Action GetImagePoint($eventArgs)]"></Image>
在这里你可以看到我使用了 MouseDown 事件并且当事件触发时我不能使用 X,Y 坐标来获取点值例如下面的代码
public void GetImagePoint(object sender, MouseEventArgs e)
{
int myX = e.X;
int myY = e.Y;
}
我遇到编译错误,例如 'MouseEventArgs' 不包含 'X' 的定义,并且找不到接受类型 'MouseEventArgs' 的第一个参数的可访问扩展方法 'X' (您是否缺少 using 指令或程序集引用?)。如何克服这个。我需要找到 X 和 Y 值表示坐标值。提前致谢。
在您的 WPF 中定义了 2 个参数 GetImagePoint($source, $eventArgs)
,
并且在您访问 (X,Y) 的函数中,您使用 GetPosition 方法:
public void GetImagePoint(object sender, System.Windows.Input.MouseEventArgs e)
{
if (!(sender is System.Windows.Controls.Image)) return;
System.Windows.Point px = e.GetPosition((System.Windows.Controls.Image)sender);
int myX = (int)px.X;
int myY = (int)px.Y;
}
我建议你检查鼠标是否点击了图像: