定义在Windows Phone中扩展FrameworkElement的对象的可视属性

时间:2012-03-27 21:12:29

标签: c# windows-phone

这是一个相当简单的问题:

我想在windows phone中构建一个扩展frameworkElement类的对象。

public class ObjectName: FrameworkElement
       {
            public Image image {get; set;}

此类应具有可视属性,例如Image。问题是:我如何定义每次以可视方式引用此Object时,我实际上是指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

感谢您的支持!

1 个答案:

答案 0 :(得分:0)

我不知道你想要做什么,所以这只是一个想法:使用Image类或从Image类继承更容易{ {1}}是继承自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);

在我写这篇文章时,我想,你不仅仅使用图像而且还有其他视觉元素?如果是这样,这将不是一个解决方案。