【问题标题】:Change cursor to image in WPF.将光标更改为 WPF 中的图像。
【发布时间】:2014-10-12 07:20:50
【问题描述】:

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

我已经阅读了几个关于如何更改光标的解决方案,但它们只涉及更改 ico 纹理。

我希望能够实时预览我将要标记的内容。因此,如果我更改图章的旋转,则光标需要适当旋转,如果我缩放图章,则需要缩放光标,如果我切换图章,则需要切换光标。

我尝试将图像添加到 observablecollection,并将其绑定到画布。然后我尝试在画布的 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;
            }
        }

【问题讨论】:

标签: wpf image canvas cursor wpf-controls


【解决方案1】:

您有两个主要选择...您可以遵循相当复杂的教程,例如 TechPro 上的 WPF Tutorial - How To Use Custom Cursors,它应该使您能够从几乎任何 WPF UIElement 创建一个 Cursor,或者您可以简单地通过设置Cursor = Cursors.None 隐藏Cursor 并将其替换为您自己的Image...当然,使用此方法,您还需要负责将Image 移动到鼠标光标移动的任何位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    相关资源
    最近更新 更多