私は少しViewModel
について混乱しています、特に私は理解できませんこの内のメソッドを追加するか、ViewModel
のスコープは、ビューのモデルのデータをバインドするためのプロパティのみを含んでいます。したがって、このCountryVM
の実装を検討:ViewModelにはプロパティのみが必要ですか?
public class CountriesVM : ViewModel
{
public AsyncObservableCollection<CheckedListItem<Country>> Countries { get; set; }
public void GetCountries()
{
Countries = new AsyncObservableCollection<CheckedListItem<Country>>();
Task.Run(() =>
{
var countries = Soccerway.Scraper.Countries.GetCountries();
foreach (var country in countries)
{
var nation = new CheckedListItem<Country>();
nation.Item = new Country { Name = country.Name, Link = country.Link };
Countries.Add(nation);
}
});
}
ので、基本的にのViewModelに私はアプリケーションの起動時に呼び出されGetCountries()
と呼ばれるmetdhoをしました、これはCountries
ObservableCollection
に移入されます。しかし、ネット上のいくつかの例は、ViewModel
のプロパティしか持っていないことに気付きました。 ViewModels
のそれぞれでは、実装がINotifyPropertyChanged
の基本クラスであるViewModel
クラスを継承しています。 私の質問は:
私の実装は正しいですか?または、私が呼び出す必要のあるメソッドは、プロパティを鍛えるために配置する必要がありますか?
ありがとうございました。
メソッド付きの[ASP.NET MVC ViewModel]の可能な複製 - それは "合法"ですか?](http://stackoverflow.com/questions/6734925/asp-net-mvc-viewmodel-with-methods-is) -it-legal) – Set
@Setだから私はコントローラのようなものを作る必要がありますか? – Unchained
MVC ViewModelsは全く異なるViewModelです。ここには接続はありません。 –