Определите визуальное свойство для объекта, расширяющего FrameworkElement в Windows Phone - PullRequest
1 голос
/ 28 марта 2012

Это довольно простой вопрос:

Я хочу построить в 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

Спасибо за вашу поддержку!

1 Ответ

0 голосов
/ 28 марта 2012

Я не знаю, что именно вы хотите сделать, так что это просто идея: не проще ли использовать класс 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);

Когда я пишу это, я думаю, вы используете не только изображения, но и другие визуальные элементы? Если это так, это не будет решением.

...