c# - Get ViewModel data using MEFedMVVM -


i using mefedmvvm framework access viewmodels , want know how data viewmodel being used. coupled use of cinch.

at present tab control defined below:

<window.resources>       <datatemplate datatype="{x:type cinchv2:workspacedata}">         <adornerdecorator>             <border horizontalalignment="stretch"                  verticalalignment="stretch"                  cinchv2:navprops.viewcreator="{binding}"/>         </adornerdecorator>     </datatemplate>   </window.resources> 

and main window viewmodel setup in following way once view has been loaded:

private void viewawarestatusservice_viewloaded()     {          if (designer.isindesignmode)             return;          //string imagepath = configurationmanager.appsettings["yourimagepath"].tostring();          workspacedata loginworkspace = new workspacedata(null, "loginusercontrol", null, "login", true);         workspacedata aboutworkspace = new workspacedata(null, "about", null, "about", true);         workspacedata viewalbumsworkspace = new workspacedata(null, "viewalbums", null, "view albums", true);         workspacedata readreviewselectworkspace = new workspacedata(null, "readreviewsselect", null, "select review", true);         workspacedata adminworkspace = new workspacedata(null, "admin", null, "admin", true);          views.add(aboutworkspace);         views.add(loginworkspace);         views.add(readreviewselectworkspace);         views.add(viewalbumsworkspace);           setactiveworkspace(aboutworkspace);          username = new datawrapper<string>(this, usernamechangeargs);         username.iseditable = true;         //username.datavalue = configurationmanager.appsettings["username"];          userrole = new datawrapper<string>(this, usernamechangeargs);         userrole.iseditable = true;         //userrole.datavalue = configurationmanager.appsettings["usertype"];     } 

the mainwindow viewmodel inherits viewmodelbase class configured below (cinch class):

namespace cinch { public abstract class viewmodelbase : inotifypropertychanged, icinchdisposable,  iparentablepropertyexposer {     public viewmodelbase();      public simplecommand<object, object> closeactivepopupcommand { get; }     public simplecommand<object, object> closeworkspacecommand { get; }     public string displayname { get; set; }     public bool iscloseable { get; set; }     protected virtual bool throwoninvalidpropertyname { get; }     public observablecollection<workspacedata> views { get; set; }      public event eventhandler<eventargs> activaterequest;     public event eventhandler<closerequesteventargs> closerequest;     public event eventhandler<eventargs> closeworkspace;     public event action<string> focusrequested;     public event propertychangedeventhandler propertychanged;      public void dispose();     public delegate[] getinpcsubscribers();     protected void notifypropertychanged(propertychangedeventargs args);     protected void notifypropertychanged(string propertyname);     protected virtual void ondispose();     public virtual void raiseactivaterequest();     public virtual void raisecloserequest(bool? dialogresult);     public void raisefocusevent(string focusproperty);     public void setactiveworkspace(workspacedata viewnav);     [debuggerstepthrough]     [conditional("debug")]     public void verifypropertyname(string propertyname); } 

now want able is, button click within loginworkspace usercontrol viewmodel, add admin tab mainwindow's views observablecollection loginviewmodel.

read using mediator. can send message loginviewmodel. have mainwindowview model can listen appropriate message.


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -