Подпишись на наш Twitter

Быть в курсе появления новых статей!

В этой статье я покажу простой пример для начала работы с использованием Caliburn Micro в WPF приложении. Это всего лишь первая часть из серии, которые я напишу и надеюсь вы подпишитесь и и проследите как мы построим полезное приложение.

Шаг 1: Начало

Caliburn Micro использует .NET framework 4.0, так что вам понадобится Visual Studio 2010 для создания приложения. Начните с создания нового проекта типа "WPF Application" и добавьте ссылки на Caliburn.Micro.dll и System.Windows.Interactivity.dll которые у вас будут после скачивания Caliburn Micro. Так как Caliburn Micro позаботится о создании окна за вас, то удалите файл MainWindow.xaml и уберите атрибут StartupUri из файла App.xaml. App.xaml теперь должен выглядеть так:


  
 
  

Шаг 2: View Model

Caliburn Micro продвигает подход View-Model-First, так что следующий шаг будет добавлением класса, который представляет модель представления (view model). В больших приложения может быть много моделей представления, каждое из них предоставляет логику для разных представлений (view). Ниже пример кода пустой модели представления. Так как это пример сосредоточен на простом начале работы с Caliburn Micro в WPF приложении, мы больше ничего не будем делать с моделью представления.

using Caliburn.Micro;
 
namespace CaliburnMicroApp
{
  public class AppViewModel : PropertyChangedBase
  {
 
  }
}

Первая вещь, на которую стоит обратить внимание это название класса. Caliburn Micro ожидает соглашения особого именования, поэтому он смог сопоставить модель представления с соответствующим представлением. Имя класса модели представления должна заканчиваться на "ViewModel". Другая вещь, на которую стоит обратить внимание, что класс наследуется от PropertyChangedBase. Он предоставляется Caliburn Micro и делает простым вызов оповещения при изменении свойств без необходимости реализации INotifyPropertyChanged во всех ваших моделях представления. Хотя в модели представления из примера ничего не делается, я включил PropertyChangedBase в качестве хорошей практики. При добавлении свойств в модель представления, оно пригодится.

Шаг 3: View

Для того чтобы показать что-то в окне, вам нужно создать представление для модели представления, созданной не предыдущем шаге. Это просто добавление нового UserControl в проект, как показано ниже. Я должен опять обратить внимание, что Caliburn Micro ожидает особого соглашения именования, так он смог сопоставить представление с соответствующей моделью представления. Наименование представления должно заканчиваться на "View" и начинаться с того же имени, которое вы использовали для модели представления. В моем примере "AppView" это представление для отображения "AppViewModel". В коде ниже я я также установил ширину, высоту и фон для грида, так что когда вы запустите приложение вы увидите что оно работает правильно.


  
 
  

Шаг 4: Bootstrapper

Bootstrapper (загрузчик) это механизм загрузки, который используется для включения Caliburn Micro в ваше приложение. В нем вы также можете сконфигурировать фреймворк, как вам надо для своего приложения. Для целей примера я использовал очень простой загрузчик, реализацию которого вы можете увидеть здесь:

using Caliburn.Micro;
 
namespace CaliburnMicroApp
{
  public class AppBootstrapper : Bootstrapper<AppViewModel>
  {
  }
}

В Caliburn Micro есть два различных загрузчика. Один используется выше и позволяет установить generic type для модели представления, которую вы хотите использовать при старте. Последний шаг состоит в том, чтобы объяснить приложению использовать загрузчик. Это делается путем добавления загрузчика в словарь ресурсов из App.xaml. После этого содержимое App.xaml должно выглядеть так:


  
    
      
        
          
        
      
    
  

И на этом все.

Теперь вы можете запустить приложение, вы увидите маленькое окно со светло синим фоном. Выше приложение подготовлено и готово воспользоваться всеми огромными преимуществами, которые предоставляет Caliburn Micro. Можно легко получить помощь в растущем сообществе фреймворка. Вы также можете ознакомиться с документацией на CodePlex.

Вы можете получить полное решение для Visual Studio 2010, я выложил этот пример здесь.

В следующей части серии мы рассмотрим добавление некоторой интерактивности с использованием событий и привязки данных с помощью Caliburn Micro.

Увидимся в следующий раз, удачного кодинга!

Оригинал: Caliburn Micro Part 1: Getting Started




Дата публикации: 12.01.2012 13:00

Ярлыки: Caliburn.Micro, MVVM, WPF