c# - ObservableCollection in ViewModel, List in Model -
i'm struggling find solution problem of having maintain 2 lists.
i'm using mvvm
, don't want model utilize observablecollection
. sense best encapsulate , allows me utilize different views/patterns (a console example). instead of setting construction this:
public class mainwindow { // handled in xaml file, no code in .cs file } public abstract class viewmodelbase : inotifypropertychanged { // handles typical functions of viewmodel base of operations class } public class mainwindowviewmodel : viewmodelbaseclass { public observablecollection<account> accounts { get; private set; } } public class administrator { public list<account> accounts { get; set; } public void addaccount(string username, string password) { // blah blah } }
i avoid having 2 different collections/lists in case above. want model handle data, , viewmodel
responsible logic of how rendered.
what utilize icollectionview in viewmodel show model data.
public class mainwindowviewmodel : viewmodelbaseclass { public icollectionview accounts { get; private set; } private administrator _admin; //ctor public mainwindowviewmodel() { _admin = new administrator(); this.accounts = collectionviewsource.getdefaultview(this._admin.accounts); } //subscribe model changes , phone call refresh this.accounts.refresh();
xaml
<listbox itemssource="{binding accounts}" />
c# wpf xaml
No comments:
Post a Comment