Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 定义扩展Windows Phone中FrameworkElement的对象的可视属性_C#_Windows Phone - Fatal编程技术网

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

C# 定义扩展Windows Phone中FrameworkElement的对象的可视属性,c#,windows-phone,C#,Windows Phone,这是一个相当简单的问题: 我想在windows phone中构建一个扩展frameworkElement类的对象 public class ObjectName: FrameworkElement { public Image image {get; set;} 此类应具有可视属性,例如和图像。问题是:如何定义每次我以视觉方式引用这个对象时,我实际上是在引用图像属性?例如: Canvas.SetTop(ObjectName, h * height); Ca

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

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

public class ObjectName: FrameworkElement
       {
            public Image image {get; set;}
此类应具有可视属性,例如和图像。问题是:如何定义每次我以视觉方式引用这个对象时,我实际上是在引用图像属性?例如:

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);

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

谢谢,但这并不能直接回答我的问题。它可能会解决我的问题,尽管如此,我还是很想知道是否有一种直接的方法来定义视觉属性,像DataContext这样的东西是我想要的。