0

这个问题可能有重复,但我没有找到任何确切的解决方案来解决我的问题。

我有一个图像。图像的来源是一个名为 add.png 的 png 图像。add.png 的形状就像一个加号(+)。它的颜色目前是白色的。

当鼠标光标移过它时,我想将此白色更改为绿色。所以我应该改变图像的哪个属性来改变它的颜色。

我不想更改图像的来源。

编辑 :

为什么我不想更改图像源:

基本上我有一个矩形,我把图像放在上面。在 MouseOver 和 MouseLeave 上,我使用 ChangePropertyAction 更改 Rectangle 的填充颜色。现在,当我单击图像时,我想更改其来源。

但是当我的程序运行时,我得到一个错误,说 Windows 资源管理器已停止工作。当我看到错误的输出窗口时,我得到 System.NullReferenceException: Object reference not set to an instance of an object

4

1 回答 1

1

这更容易。更改图像源。您的选择在这里受到限制:通过从 System.Windows.Media.Effects.Effect 派生创建自己的效果,将其称为 ColorEffect 并在那里实现颜色更改逻辑,类似的替代方法是创建单独的 PixelShader 效果,但这比效果更复杂多于。使用来自http://www.codeproject.com/Articles/237226/Image-Processing-is-done-using-WPF的图像处理

于 2013-07-19T09:35:12.160 回答