Ковариантность и МВВМ - PullRequest
       2

Ковариантность и МВВМ

0 голосов
/ 21 января 2012

Есть класс Shape, от него унаследованы треугольник, эллипс и т. Д. Вопрос. Как я могу изменить фигуру в представлении. Когда я меняю цифры в ViewModel

public class MainViewModel : NotificationObject
{
    private Shape shape;

    public MainViewModel()
    {
        Shape = new Ellipse;
        ChangeCurrentShapeCommand = new DelegateCommand(ChangeCurrentShape);
    }

    public Shape Shape
    {
        get
        {
            return this.shape;
        }
        set
        {
            this.shape = value;
            this.RaisePropertyChanged(() => this.Shape);
        }
    }

    public DelegateCommand ChangeCurrentShapeCommand { get; set; }

    private void ChangeCurrentShape()
    {
        Shape = new Triangle;
    }
}

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

1 Ответ

2 голосов
/ 21 января 2012

1) Привязать к Shape из вида

2) Определить Шаблоны данных для каждого типа фигуры (треугольник, эллипс и т. Д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...