Может кто-нибудь предложить хороший рабочий процесс для работы с WPF и PRISM? - PullRequest
1 голос
/ 01 сентября 2010

Я уже работал с PRISM над одним крупным проектом, поэтому я довольно хорошо знаком с концепциями, которые я использую, но я собираюсь приступить к самостоятельному управлению проектом и хотел бы знать, есть ли у кого-нибудь жемчужины мудрости о том, как идтио реализации соответствующей архитектуры для прямого приложения LOB / Forms over data.Я хочу использовать как можно больше PRISM и Unity.

Очевидно, что большинство людей начинают с загрузчика, оболочки и регионов, но если у вас есть достаточно простое, но крупное приложение, которое нужно построить, в сжатые сроки(как всегда :-) как я могу сэкономить время в моем рабочем процессе?Куда мне идти оттуда?

1 Ответ

1 голос
/ 07 сентября 2010

Это немного, но я начал писать фрагменты, чтобы помочь с большими, повторяющимися частями Prism, такими как создание новой команды. В идеале у вас могут быть шаблоны для добавления View или ViewModel и тому подобных вещей. У меня также есть вполне приличный класс ViewModelBase и класс ViewController для разделения представлений в разных регионах. Таким образом, потеря вида в большинстве случаев сводится к одному вкладышу.

Не так много, но это экономит время.

Я бы вставил сюда фрагмент, но он не форматируется должным образом, предположим, потому что это XML?

<?xml version="1.0" encoding="utf-8" ?>

Призма pcom Фрагмент кода для создания новой команды Prism wilmarvh PublicPrism Название команды т.е. EditUserCommand ExampleAction строка PrivatePrism Название команды т.е. editUserCommand exampleAction строка

    public ICommand $PublicPrism$Command
    {
        get
        {
            if ($PrivatePrism$Command == null)
            {
                $PrivatePrism$Command = new DelegateCommand(Execute$PublicPrism$Command, CanExecute$PublicPrism$Command);
            }
            return $PrivatePrism$Command;
        }
    }

    public void Execute$PublicPrism$Command()
    {
        // do whatever here
        throw new NotImplementedException();
    }

    private bool CanExecute$PublicPrism$Command()
    {
        // add executing criteria and checks here
        return true;
    }
    #endregion

$ конец $ ]]>

...