首页 文章

在WPF中将光标更改为图像 .

提问于
浏览
0

我正在尝试实现“冲压”功能 . 我从列表中选择一个图像,然后用它来标记我画布上的点击位置 .

我已经阅读了几个关于如何更改光标的解决方案,但它们只涉及改变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;
            }
        }

1 回答

  • 1

    你有两个主要的选择...你可以在TechPro上遵循一个相当复杂的教程,如WPF Tutorial - How To Use Custom Cursors,它可以让你从几乎任何WPF UIElement 创建一个 Cursor ,或者你可以通过设置 Cursor = Cursors.None 然后替换它来隐藏 Cursor 使用您自己的 Image ...当然,使用此方法,您还需要负责在鼠标光标移动的任何位置移动 Image .

相关问题