漫坊亭

社会の底辺プログラマ

(自分用翻訳) Caliburn Micro Part 1: Getting Started

原文へのリンク (google翻訳を使用しています)

Caliburn Micro Part 1: Getting Started

数日前、私は、WPFの要素に含まれて私たちの新しいダッシュボードのサンプルについてブログ。サンプルは、データグリッド、時間Explorerやチャートなど、当社のWPFコントロールのいくつかを使用して、営業ダッシュボードを作成する方法を示します。それは、それを強固なMVVMアーキテクチャを与えるCaliburnMicroフレームワークの助けを借りて造られた。このブログ記事では、私は、WPFアプリケーションでCaliburnMicroを使用しての使用を開始するための簡単なチュートリアルを順を追ってます。これは、私はあなたが購読し、我々は有用な用途に構築として私と一緒に従っていただければ幸い私はそのように書くことになりますシリーズのちょうど1部です。

Step 1: Getting Started

CaliburnMicroは、.NETフレームワーク4.0をターゲットにし、あなたがアプリケーションを作成するために、Visual Studio 2010のが必要になります。新しいWPFアプリケーションを作成することにより起動し、カリバーンマイクロのダウンロードが付属してCaliburn.Micro.dllとSystem.Windows.Interactivity.dllへの参照を追加します。CaliburnMicroはあなたのためのウィンドウを作成するの世話をしようとしているので、MainWindow.xamlを削除し、App.xamlからStartupUri属性を削除します。 App.xamlは現在、次のようになります。

<Application x:Class="CaliburnMicroApp.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Application.Resources>
 
  </Application.Resources>
</Application>

Step 2: The View Model

CaliburnMicroはビュー·モデル·ファーストアプローチを促進するため、次のステップでは、ビューモデルを表現するためにクラスを追加することです。大規模なアプリケーションは、異なるビューのためのロジックを提供しそれぞれが多くのビューモデルを持つことができます。下の空のビューモデルのコード例です。このチュートリアルは、WPFアプリケーションにCaliburnMicroを組み込むことで始め単に得ることに焦点を当てているので、我々は、ビューモデルは今のところ何かをするつもりされていません。

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

ここで注意すべき最初の事は、クラスの名前です。それが適切なビューにビューモデルをフックできるようにCaliburnMicroは、特定の命名規則を想定しています。ビューモデルのクラス名は"ViewModelに"で終わる必要があります。あなたが"ViewModelに"の前に置くことはあなた次第です。ここで注目すべき他の事は、このクラスがPropertyChangedBaseを拡張することです。これはCaliburnMicroによって提供され、それが簡単にすべてのあなたのビューモデルでINotifyPropertyChangedのを実装しなくても、プロパティ変更通知を上げることになるされています。この例では、ビューモデルは何もしていませんが、私は良いプラクティスとしてPropertyChangedBaseを含めました。ビューモデルのプロパティを追加する場合、それは便利になるだろう。

Step 3: The View

ウィンドウで何かを表示するには、前の手順で作成したビューモデルのビューを作成する必要があります。これは、下図のように、プロジェクトに新しいユーザーコントロールを追加するのと同じくらい簡単です。私はそれが適切なビュー·モデルにビューをフックできるようにCaliburnMicroは、特定の命名規則を期待していることを再度指摘しなければなりません。ビュー名は「View」で終わる、あなたはビューモデルに使用したものと同じ名前で始まる必要があります。だからここに私の例のために、「AppView」は「AppViewModel」をレンダリングするための図です。あなたはこのアプリケーションを実行するときに、それが正常に機能していることを確認できるように、私は、グリッドの幅、高さ、背景を設定している次のコードで。

<UserControl x:Class="CaliburnMicroApp.AppView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
  <Grid Width="300" Height="300" Background="LightBlue">
 
  </Grid>
</UserControl>

Step 4: The Bootstrapper

ブートストラップは、あなたのアプリケーションにCaliburnMicroを組み込むために使用されるメカニズムです。それはまた、あなたのアプリケーションのニーズのためのフレームワークを構成することができる場所です。このチュートリアルの目的のために、私はここに見られる非常に単純なブートストラップの実装を使用しています:

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

CaliburnMicroは、利用可能な2つの異なるbootstrappersを持っています。上記使用されるものは、あなたが起動時に使用したいビューモデルであることが一般的なタイプを設定することができます。最後のステップは、ブートストラップを使用するようにアプリケーションを伝えることです。これは、App.xaml内のリソースディクショナリにあなたのブートストラップを追加することによって行われます。これを実行した後、App.xamlは今のようになります。

<Application x:Class="CaliburnMicroApp.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:local="clr-namespace:CaliburnMicroApp"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary>
          <local:AppBootstrapper x:Key="bootstrapper" />
        </ResourceDictionary>
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>
</Application>

And that’s it

f:id:jfactory:20150621203809p:plain

あなたがアプリケーションを実行すると、あなたは薄い青色の背景色の小さなウィンドウが表示されます。アプリケーションは、準備は完了とCaliburnMicroで提供されているすべての偉大なサポートを利用する準備ができています。それは、その成長しているコミュニティに、このフレームワークを使用するための助けを得るのは簡単です。また、CodePlexの上のドキュメントに目を通すことができます。 あなたは、私がここで、このチュートリアルのために作られたフルのVisual Studio2010ソリューションを取得ことができます。

このブログシリーズの次の部分では、CaliburnMicroの助けを借りて、結合事象やデータを用いて、いくつかのインタラクティブ機能を追加することを見ていきます。

次回まで、ハッピーコーディング!