WPF中我想给Image添加一个自定义的ImageSource属性,需要怎么做呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF中我想给Image添加一个自定义的ImageSource属性,需要怎么做呢?相关的知识,希望对你有一定的参考价值。

在XML中可以使用这个属性

那就自定义一个Image控件(继承原来的Image控件)。然后添加一个依赖属性。关于依赖属性,可以上网查一下原理和应用。追问

嗯,图片可以这么做。我现在要给Line添加依赖属性,但是Line密封类,不能继承。这个怎么添加呢?

追答

Line不能继承。那要么你完全自定义一个Line类,要么只能想其他方法了。

参考技术A Image image = new Image()
Source = new BitmapImage(new Uri(imgpath, UriKind.RelativeOrAbsolute)) ;
简写成image.source=new BitmapImage(new Uri(imgpath)) ;
imgpath是图片路径 ,字符串类型追问

我想自定义一个属性,不是用他自带的属性,比如属性名字叫UserImageSource

追答

这个是追加属性
http://www.cnblogs.com/linlf03/archive/2011/10/29/2228430.html

如果是自定义控件,要写
DefaultStyleKeyProperty.OverrideMetadata(typeof(Image), new FrameworkPropertyMetadata(typeof(Image)));
UserImageSourceProperty = DependencyProperty.Register("UserImageSource", typeof(string), typeof(Image),;

参考技术B 继承image 添加个 依赖属性..追问

嗯,图片可以这么做。我现在要给Line添加依赖属性,但是Line密封类,不能继承。这个怎么添加呢?

追答

line 当然不能...可能是你设计思路有问题.

参考技术C this.img.ImageSource = new BitmapImage(new Uri("test.jpg"));

追问

我想自定义一个属性,不是用他自带的属性,比如属性名字叫UserImageSource

Wpf中如何给一个Image添加click事件并且绑定command

因为image本身没有click事件,请问如何实现

Click可以变通使用MouseLeftButtonUp事件
如果一定要添加Click,需要通过自定义路由事件,然后通过MouseLeftButtonUp方法中触发Click事件
参考技术A Click可以变通使用MouseLeftButtonUp事件
如果一定要添加Click,需要通过自定义路由事件,然后通过MouseLeftButtonUp方法中触发Click事件

以上是关于WPF中我想给Image添加一个自定义的ImageSource属性,需要怎么做呢?的主要内容,如果未能解决你的问题,请参考以下文章

如何在双向绑定的Image控件上绘制自定义标记(wpf)

在线等!怎么在wpf中利用后台的代码给定位置,大小和source,创建image,并在界面显示出来。

WPF C# 如何在动态添加的grid控件中添加某个网格中的image控件的单击事件?

WPF中显示System.Drawing.Image对象,怎么办?急急急

带有Image属性的WPF UserControl

wpf image控件 设计时显示图片,运行时不显示