2012-03-27 57 views
1

這是一個相當簡單的問題對象的可視化屬性:定義擴展FrameworkElement的Windows Phone中

我想建立在Windows Phone的一個對象,它擴展了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 

感謝您的支持!

回答

0

我不知道你想要做什麼,所以這只是一個想法:使用Image類還是從它繼承,因爲ImageFrameworkElement繼承?

你可能做這樣的事情:

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

正如我寫這篇文章,我想,你不只是用圖像,而且其他視覺元素?如果是這樣,這不會是一個解決方案。

+0

謝謝,但那並不直接回答我的問題。雖然它可以解決我的問題,但是,我想知道是否存在直接定義視覺屬性的方法,例如DataContext就是我的想法。 – 2012-03-30 12:13:24