0

機能を理解するためのトレーニング用に、MVVM の小さな部分を作成しています。

Image モデル クラスのモデルを作成して、各 Image アイテムに ID、名前、リンク、および高さや幅などの他の要素が含まれるようにしました。

データを表示するビューも作成しました。派手なものはありません。起動時に MainWindow Grid 内に配置される単純な ItemsControl です。

私は今、少しつまずいている場所である ImageViewModel クラスを作成しています。

私はそのクラスをそのように定義しました-それを正しく行ったかどうかはわかりません:

public class ImageViewModel : Screen 

また、ネットからデータを取得し、ネット上で利用可能な新しいアイテムごとに新しい画像アイテムを解析して取得するためにソフトウェアが実行するコードもいくつか書きました。MVVM機能なしでこれをコーディングしたときに完全に機能したため、コードは正常に機能するはずです。

public void FindNewImages私の問題は、起動時に MainWindow グリッド内に View がロードされたときにアクション ( と呼ばれる) を起動する方法がわからないことです...どうすればこれを達成できますか?

4

1 に答える 1

1

ビューとビューモデルをどのように接続したかによって異なります。ビューモデルがビューのリソースであるビューを最初に実行しているようです。その場合、FindNewImagesビュー モデルのコンストラクターでメソッドを呼び出すことができます。

ただし、画面のライフサイクルを提供するCaliburn.Microなどの MVVM フレームワークを使用することを強くお勧めします。この場合、ビュー モデルの最初のアプローチを使用して、Caliburn.Micro によって提供される型のメソッドでメソッドを呼び出すことができます。OnActivateScreen

于 2013-08-29T08:31:19.987 に答える