2016-06-28 4 views
0

私はWPFにはかなり新しく、まあまあです。私は今、約6か7か月間それに行ってきました。私は最初のアプリケーション、顧客、製品、予約、割引などの記録を保持する基本的な顧客管理システムを完成させました。しかし、すべて機能していますが、かなりハッキングされたプロジェクトを、きちんと構造化され、応用。これの主要な部分は、MVVMデザインパターンを遵守しています。修正を行うために必要な作業を見た後、私はリライトがより良い選択肢であると判断しました。 Caliburn Microへの参照を追加した新しいソリューションを開始しました。一部のリファクタリングと不要なコードを削除した後、以前のプロジェクトからすべてのモデルをインポートしました。Caliburn Microはビューを自動的に配線してモデルを表示しません

しかし、私の問題の要点は、キャリバーンが意図したとおりのことをやっていないようだということです。私はルートフォルダ 'Views'と 'ViewModels'にフォルダを持っています。たとえば、 'CustomersView.xaml'とそれに対応する 'CustomersViewModel.cs'があります。 ViewModelまで私のビューは結婚していません。たとえ宣言的にXAMLを使ってDataContextをビューに設定したり、コードの背後に設定しても、ビュー内のすべてのコントロールをそのプロパティまたはアクションに手動でバインドする必要があります。 ViewModel

私は数日前からオンラインで検索しましたが、私が読んだことのほとんどは、これが自動プロセスでなければならないと私に言いました。私が必要としているのは、私が行った適切な命名規則。

解決策を探す場所を誰にでも教えてもらえますか。 Caliburnのドキュメントは、せいぜい少しのスキンです。

私はしかし、私は(私は修正立って幸せですが)私は、ビューとビューモデルのスニペットを見て、これは私のプロジェクト全体のグローバルで考えると少し意味がないと思うの瞬間に離れて私の作業機械からだ

Caliburn.Microを使用したデモンストレーションプロジェクトは正常に動作し、新しいビューとビューモデルを作成して結婚させることができます。

何か提案がありましたら幸いです。

+0

ビューモデルクラスは実際には「CustomersViewModels」という名前ですか?その場合、 'ViewModel.LocateForModelType()'は 'CustomersViews'を探します( 's'に注意してください)。 – Doom5

+0

Typo。申し訳ありません - 修正されました。もちろん、ViewModelにはすべてViewModelが付いており、ViewにはすべてViewという接尾辞が付きます。 –

+0

ビューモデルは公開されていますか? –

答えて

1

Caliburn MicroはビューがviewModelと一致するようにxamlファイル内のx:クラス名を調べます。つまり、クラス名の後ろのコードとx:クラス名はCaliburn Microがビューモデルのビューをルックアップするために使用します。

関連する問題