我正在尝试实施“加盖”功能。我从列表中选择一个图像,然后用它来标记我画布上的点击位置。
我已经阅读了几个关于如何更改光标的解决方案,但它们只涉及改变ico纹理。
我希望能够实时预览我要标记的内容。因此,如果我更改标记的旋转,则光标需要适当旋转,如果我缩放标记,则需要缩放光标,如果我切换标记,则光标需要切换。
我尝试将图像添加到observablecollection,并将其绑定到画布。然后我尝试更新画布的MouseMove事件中的位置,图像,比例,但它不起作用。
这是MouseMove函数:
private void Canvas_MouseMove(object sender, MouseEventArgs e)
{
if (currentTool == "staticBrush" && lvDataBinding.SelectedIndex != -1)
{
canvasImages[0].Name = srcImages[lvDataBinding.SelectedIndex].Name;
canvasImages[0].BmpImage = new BitmapImage(new Uri(canvasImages[0].Name, UriKind.Relative));
scale(canvasImages[0]);
canvasImages[0].OffsetX = e.GetPosition(canvasDataBinding).X;
canvasImages[0].OffsetY = e.GetPosition(canvasDataBinding).Y;
}
}
答案 0 :(得分:1)
您有两个主要选项...您可以在TechPro上遵循相当复杂的教程,例如WPF Tutorial - How To Use Custom Cursors,这可以让您从几乎任何WPF {{1}创建Cursor
或者,您可以通过设置UIElement
隐藏Cursor
并将其替换为您自己的Cursor = Cursors.None
...当然,使用此方法,您也可以负责在鼠标光标移动的任何地方移动Image
。