Начало в призме - PullRequest
       6

Начало в призме

2 голосов
/ 10 июня 2011

Я совершенно новичок в Призме (композитный Wpf). Я хочу создать модуль обмена сообщениями для своего приложения: невидимая панель в верхней части главного окна, которая появляется, когда я вызываю ShowMessage(string message) (и исчезает, например, через 5 секунд).

Что я сделал:

  • Создать инфраструктурный проект (содержит только один интерфейс IUIMessagesService)
  • Создать модуль проекта:

    • Проект содержит пользовательский элемент управления - это панель для сообщения (Просмотр)

    • Проект содержит UIMessagesService класс, который реализует IUIMessagesService

    • В модуле класса я так и сделал:

    public UIMessagesModule(IRegionManager regionManager, IUnityContainer container) { _regionManager = regionManager; _container = container; }

и

    public void Initialize()
    {
        _regionManager.RegisterViewWithRegion("UIMessagesRegion", typeof(UIMessagesView));
        _container.RegisterType<IUIMessagesService, UIMessagesService>(new ContainerControlledLifetimeManager());
    }
  • Создание проекта оболочки (загрузчик, представление оболочки с регионом e.t.c)

Вопросы:

  • Как изменить свойства моего представления в классе UIMessagesService (в данном случае RenderTrasform для отображения панели)? Может быть, мне нужно определить эти свойства в представлении модели? Как изменить свойства модели представления?

  • Как выполнить методы модуля ShowMessages из приложения?

Ответы [ 2 ]

0 голосов
/ 07 октября 2014

Не уверен, что это именно то, что вы хотели. Но вы можете использовать wpfextended toolkit busyindicator. Это может отображаться поверх экрана с глянцевым экраном, и вы можете управлять им, просто установив или связав свойство зависимостей IsBusy.

посмотрите на пример здесь

0 голосов
/ 11 июня 2011

В качестве первого вопроса вы можете использовать агрегацию событий
Для второго:
Вы можете использовать ServiceLocator или контейнер для разрешения вашего типа

...