Caliburn.Micro - XAMLを簡単に。
ウェブ: https://github.com/Caliburn-Micro/Caliburn.Micro
文書: http://caliburnmicro.com/documentation/
nuget:インストール・パッケージCaliburn.Micro
XAMLプラットフォームは、WPF、Silverlightの、WPなど様々なアプリケーションを構築MV *モードをサポートするために使用します
その他の関連プロジェクトは、参照してくださいコードの沈殿ディレクトリを
重要:プロジェクトのバージョンは、最新の公式バージョンは優先することに注意してください。
長いブログ投稿の前に、私は一般的に一連の記事を翻訳しますが、原因CMのフレームワークの更新にこれだけ翻訳され、ワード検索、あまりにも速く、プラス彼は記事の遅すぎる訳であることを主な理由半分以上が、十分な人々が使用しています。この記事では、V2のバージョンを記述し、V3は少し新しい番号になります。しかし、新しいバージョンとの主な用途の古いバージョンでは、ほぼ以下の公式のデモを参照してください。
基本構成、アクションと規則
1. Visual Studioは、クラスライブラリとSystem.Windows.Interactivity.dll CM枠を追加するモード(推奨)またはマニュアルの参照、DLLの道をnuget使用して、ソリューション「Caliburn.Micro.Hello」を作成します。
「MainPage.xamlを」を削除し、以下のいずれかのよう、「App.xaml.cs」を変更します。
名前空間Caliburn.Micro.Hello { System.Windowsを使用して、 公共部分クラスアプリ:アプリケーション{ パブリックアプリ(){ のInitializeComponent(); } } }
2. CMフレームワークはまた、最初の「ShellViewModel」と呼ばれるVMを作成し、我々はこれをしなければならない、ビュー・モデル・ファーストの方法を使用することをお勧めします、コードは次のとおりです。
名前空間Caliburn.Micro.Hello { System.Windowsを使用して、 パブリッククラスShellViewModel:PropertyChangedBase { 文字列名。 公共の文字列名{ {戻り名を取得します。} 集合{ 名前=値。 NotifyOfPropertyChange(()=>名); NotifyOfPropertyChange(()=> CanSayHello)。 } } パブリックブールCanSayHello { 取得{戻りますstring.IsNullOrWhiteSpace(名前を)!; } } パブリック無効のsayHello(){ MessageBox.Show(String.Formatの( "こんにちは{0}!"、名前)); // :)実際の生活の中でこれを実行しないでください } } }
あなたはShellViewModelはPropertyChangedBase、通知のプロパティを定義する簡単な基本クラスから継承し、見ることができ、通知インタフェースは、簡単な更新機能を有効にします。
シンプルなVMで3、ここでは、次のようにコードは、「HelloBootstrapper」の新しいクラスを作成し、どのようなブートストラップを定義します。
名前空間Caliburn.Micro.Hello { パブリッククラスHelloBootstrapper:BootstrapperBase { パブリックHelloBootstrapper(){ 初期化()。 } 保護オーバーライドボイドOnStartup(オブジェクト送信者、StartupEventArgs E){ DisplayRootViewFor <ShellViewModel>(); } } }
「トップViewModelに」を定義するメソッドを呼び出すことにより、このBootsrapper。プログラムが起動すると、初期化時にCMのフレームワークは、トップVMをロードし、VMは、対応するビューが表示されます。
入口構成として、いくつかの一般的なMVVM Bootsrapperフレームにおいて、このような構成設定、コンテナに構成など、見ることができます。
4.次のように続いて、我々は、デフォルトの起動手順HelloBootstrapper、修正「App.xaml」を置き換えます。
<アプリケーションのxmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" のxmlns:X = "http://schemas.microsoft.com/winfx/2006/xaml" のxmlns:ローカル= "CLR -namespace:Caliburn.Micro.Hello」 X:クラス= "Caliburn.Micro.Hello.App"> <Application.Resources> <ローカル:HelloBootstrapper X:キー= "ブートストラップ" /> </Application.Resources> </アプリケーション>
WPF:
<アプリケーションのxmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" のxmlns:X = "http://schemas.microsoft.com/winfx/2006/xaml" のxmlns:ローカル= "CLR -namespace:Caliburn.Micro.Hello」 X:クラス= "Caliburn.Micro.Hello.App"> <Application.Resources> <ResourceDictionaryの> <ResourceDictionary.MergedDictionaries> <ResourceDictionaryの> <ローカル:HelloBootstrapper X:キー= "ブートストラップ" /> </ ResourceDictionaryの> </ResourceDictionary.MergedDictionaries> </ ResourceDictionaryの> </Application.Resources> </アプリケーション>
ここでは、私たちが思い出さする必要がある、「ブートストラップ」という名前のアプリケーション、リソースのリソースを追加した、ここでは値「Application.StartupUri」属性を削除されている、フォームではなく、CM枠で、デフォルトで起動する必要はありません。ブートストラップの方法は、以前に設定され、「トップViewModelに」を開始します。
次に、あなたのプログラムを起動しようとすることができ、あなたは、インターフェイスには、次の単語を持って表示されます。
Caliburn.Micro.Hello.ShellViewが見つかりません。
Caliburn.Microは、私たちが「ShellView」と呼ばれるユーザーコントロール(ユーザーコントロール)、XAMLコードを作成し、その後、ShellViewModelを確立しているが、それを表示する方法を知っているので、我々は、対応するビューを必要としない、次のとおりです。
<ユーザーコントロールのx:クラス= "Caliburn.Micro.Hello.ShellView" のxmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" のxmlns:X = "http://schemas.microsoft.com /のWinFX / 2006 / XAML "> <StackPanelの> <テキストボックスのX:名="名前」/> <ボタンX:名= "のsayHello" コンテンツ= "私をクリックして" /> </ StackPanelの> </ユーザーコントロール>
もう一度プログラムを起動し、あなたが見ることができるこの時間はちょうどUIインターフェイスを定義しました。
ボタンが利用可能になったとき、それをクリックし、テキストボックスにテキストを入力しようとすると、ポップアップメッセージウィンドウを見ることができます。
CMのフレームワークは、ビューとビューモデルの間のリンクを一致させるために使用され、シンプルで効果的な「命名規則」機能のセットを定義します。
実際には、それが指定されたVMの完全な名前を取得し、「モデル」セクションを削除することで、残りは対応する図です。
たとえば、「MyApp.ViewModels.MyViewModel」のために、あなたは「MyApp.Views.MyView」を取得します。
見つけることができ、TextBoxコントロールのビューがあり、ビューとビューモデルの比較、[X:名=「名前」]セクション、「名前」プロパティにViewModelにを実装するためにバインドされています。また、ビューは、Buttonコントロールを持っていることが判明し、[X:名=「のsayHello」]セクションには、「のsayHello」方式でのViewModelを実装するためにバインドされています。最後に、方法の可用性は「CanSayHello」プロパティもありViewModelに、そのような対応するボタンが利用できないように、結合機能として、「のsayHello」にリンクされます。
これらの機能は、VM ActionMessage(メソッドにバインドされた)関数と規則(契約が)機能を反映しています。
Caliburn.Micro - XAMLを簡単に。
ウェブ: https://github.com/Caliburn-Micro/Caliburn.Micro
文書: http://caliburnmicro.com/documentation/
nuget:インストール・パッケージCaliburn.Micro
XAMLプラットフォームは、WPF、Silverlightの、WPなど様々なアプリケーションを構築MV *モードをサポートするために使用します
その他の関連プロジェクトは、参照してくださいコードの沈殿ディレクトリを
重要:プロジェクトのバージョンは、最新の公式バージョンは優先することに注意してください。
長いブログ投稿の前に、私は一般的に一連の記事を翻訳しますが、原因CMのフレームワークの更新にこれだけ翻訳され、ワード検索、あまりにも速く、プラス彼は記事の遅すぎる訳であることを主な理由半分以上が、十分な人々が使用しています。この記事では、V2のバージョンを記述し、V3は少し新しい番号になります。しかし、新しいバージョンとの主な用途の古いバージョンでは、ほぼ以下の公式のデモを参照してください。
基本構成、アクションと規則
1. Visual Studioは、クラスライブラリとSystem.Windows.Interactivity.dll CM枠を追加するモード(推奨)またはマニュアルの参照、DLLの道をnuget使用して、ソリューション「Caliburn.Micro.Hello」を作成します。
「MainPage.xamlを」を削除し、以下のいずれかのよう、「App.xaml.cs」を変更します。
名前空間Caliburn.Micro.Hello { System.Windowsを使用して、 公共部分クラスアプリ:アプリケーション{ パブリックアプリ(){ のInitializeComponent(); } } }
2. CMフレームワークはまた、最初の「ShellViewModel」と呼ばれるVMを作成し、我々はこれをしなければならない、ビュー・モデル・ファーストの方法を使用することをお勧めします、コードは次のとおりです。
名前空間Caliburn.Micro.Hello { System.Windowsを使用して、 パブリッククラスShellViewModel:PropertyChangedBase { 文字列名。 公共の文字列名{ {戻り名を取得します。} 集合{ 名前=値。 NotifyOfPropertyChange(()=>名); NotifyOfPropertyChange(()=> CanSayHello)。 } } パブリックブールCanSayHello { 取得{戻りますstring.IsNullOrWhiteSpace(名前を)!; } } パブリック無効のsayHello(){ MessageBox.Show(String.Formatの( "こんにちは{0}!"、名前)); // :)実際の生活の中でこれを実行しないでください } } }
あなたはShellViewModelはPropertyChangedBase、通知のプロパティを定義する簡単な基本クラスから継承し、見ることができ、通知インタフェースは、簡単な更新機能を有効にします。
シンプルなVMで3、ここでは、次のようにコードは、「HelloBootstrapper」の新しいクラスを作成し、どのようなブートストラップを定義します。
名前空間Caliburn.Micro.Hello { パブリッククラスHelloBootstrapper:BootstrapperBase { パブリックHelloBootstrapper(){ 初期化()。 } 保護オーバーライドボイドOnStartup(オブジェクト送信者、StartupEventArgs E){ DisplayRootViewFor <ShellViewModel>(); } } }
「トップViewModelに」を定義するメソッドを呼び出すことにより、このBootsrapper。プログラムが起動すると、初期化時にCMのフレームワークは、トップVMをロードし、VMは、対応するビューが表示されます。
入口構成として、いくつかの一般的なMVVM Bootsrapperフレームにおいて、このような構成設定、コンテナに構成など、見ることができます。
4.次のように続いて、我々は、デフォルトの起動手順HelloBootstrapper、修正「App.xaml」を置き換えます。
<アプリケーションのxmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" のxmlns:X = "http://schemas.microsoft.com/winfx/2006/xaml" のxmlns:ローカル= "CLR -namespace:Caliburn.Micro.Hello」 X:クラス= "Caliburn.Micro.Hello.App"> <Application.Resources> <ローカル:HelloBootstrapper X:キー= "ブートストラップ" /> </Application.Resources> </アプリケーション>
WPF:
<アプリケーションのxmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" のxmlns:X = "http://schemas.microsoft.com/winfx/2006/xaml" のxmlns:ローカル= "CLR -namespace:Caliburn.Micro.Hello」 X:クラス= "Caliburn.Micro.Hello.App"> <Application.Resources> <ResourceDictionaryの> <ResourceDictionary.MergedDictionaries> <ResourceDictionaryの> <ローカル:HelloBootstrapper X:キー= "ブートストラップ" /> </ ResourceDictionaryの> </ResourceDictionary.MergedDictionaries> </ ResourceDictionaryの> </Application.Resources> </アプリケーション>
ここでは、私たちが思い出さする必要がある、「ブートストラップ」という名前のアプリケーション、リソースのリソースを追加した、ここでは値「Application.StartupUri」属性を削除されている、フォームではなく、CM枠で、デフォルトで起動する必要はありません。ブートストラップの方法は、以前に設定され、「トップViewModelに」を開始します。
次に、あなたのプログラムを起動しようとすることができ、あなたは、インターフェイスには、次の単語を持って表示されます。
Caliburn.Micro.Hello.ShellViewが見つかりません。
Caliburn.Microは、私たちが「ShellView」と呼ばれるユーザーコントロール(ユーザーコントロール)、XAMLコードを作成し、その後、ShellViewModelを確立しているが、それを表示する方法を知っているので、我々は、対応するビューを必要としない、次のとおりです。
<ユーザーコントロールのx:クラス= "Caliburn.Micro.Hello.ShellView" のxmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" のxmlns:X = "http://schemas.microsoft.com /のWinFX / 2006 / XAML "> <StackPanelの> <テキストボックスのX:名="名前」/> <ボタンX:名= "のsayHello" コンテンツ= "私をクリックして" /> </ StackPanelの> </ユーザーコントロール>
もう一度プログラムを起動し、あなたが見ることができるこの時間はちょうどUIインターフェイスを定義しました。
ボタンが利用可能になったとき、それをクリックし、テキストボックスにテキストを入力しようとすると、ポップアップメッセージウィンドウを見ることができます。
CMのフレームワークは、ビューとビューモデルの間のリンクを一致させるために使用され、シンプルで効果的な「命名規則」機能のセットを定義します。
実際には、それが指定されたVMの完全な名前を取得し、「モデル」セクションを削除することで、残りは対応する図です。
たとえば、「MyApp.ViewModels.MyViewModel」のために、あなたは「MyApp.Views.MyView」を取得します。
見つけることができ、TextBoxコントロールのビューがあり、ビューとビューモデルの比較、[X:名=「名前」]セクション、「名前」プロパティにViewModelにを実装するためにバインドされています。また、ビューは、Buttonコントロールを持っていることが判明し、[X:名=「のsayHello」]セクションには、「のsayHello」方式でのViewModelを実装するためにバインドされています。最後に、方法の可用性は「CanSayHello」プロパティもありViewModelに、そのような対応するボタンが利用できないように、結合機能として、「のsayHello」にリンクされます。
これらの機能は、VM ActionMessage(メソッドにバインドされた)関数と規則(契約が)機能を反映しています。