为在Windows Phone中扩展FrameworkElement的对象定义视觉属性
本文关键字:对象 定义 视觉 属性 FrameworkElement Windows Phone 扩展 为在 | 更新日期: 2023-09-27 18:29:07
这是一个相当简单的问题:
我想在windowsphone中构建一个扩展frameworkElement类的对象。
public class ObjectName: FrameworkElement
{
public Image image {get; set;}
这个类应该有一个可视化属性,例如和Image。问题是:我如何定义每次以视觉方式引用这个对象时,我实际上是在引用Image属性?例如:
Canvas.SetTop(ObjectName, h * height);
Canvas.SetLeft(ObjectName, w * width);
PictureBoard.Children.Add(ObjectName); // PictureBoard is a Canvas element
而不是
Canvas.SetTop(ObjectName.image, h * height);
Canvas.SetLeft(ObjectName.image, w * width);
PictureBoard.Children.Add(ObjectName.image); // PictureBoard is a Canvas element
感谢您的支持!
我不知道你到底想做什么,所以这只是一个想法:使用Image
类或从它继承不是更容易吗,因为Image
是从FrameworkElement
继承的吗?
你可以做这样的事情:
public class SpecialImage : Image
{
// if you want to add custom logic, do it :)
}
SpecialImage specialImage = new SpecialImage();
Canvas.SetTop(specialImage, h * height);
Canvas.SetLeft(specialImahe, w * width);
PictureBoard.Children.Add(specialImage);
在我写这篇文章的时候,我想,你不仅仅使用图像,还使用其他视觉元素?如果是这样的话,这就不是一个解决方案。