c# - resolve dependencies in viewModel -
i have viewmodel supplierviewmodel set datacontext of view viewmodel in xaml using mvvm lights viewmodellocator instance.
here view :
<usercontrol xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" x:class="rh_maize.supplierview" x:name="usercontrol" d:designwidth="1040" d:designheight="630" datacontext="{binding supplier, source={staticresource locator}}"> <!--ui elements goes here--> </usercontrol>
here viewmodel locator :
public class viewmodellocator { static viewmodellocator() { servicelocator.setlocatorprovider(() => simpleioc.default); simpleioc.default.register<mainviewmodel>(); if (viewmodelbase.isindesignmodestatic) { simpleioc.default.register<isupplierdataservice, supplierdataservicemock>(); } else { simpleioc.default.register<isupplierdataservice, supplierdataservice>(); } } #region here create , expose of applications viewmodels /// <summary> /// gets main property. /// </summary> [system.diagnostics.codeanalysis.suppressmessage("microsoft.performance", "ca1822:markmembersasstatic", justification = "this non-static fellow member needed info binding purposes.")] public mainviewmodel main { { homecoming simpleioc.default.getinstance<mainviewmodel>(); } } public supplierviewmodel supplier { { homecoming new supplierviewmodel(); } } } /// <summary> /// cleans resources. /// </summary> public static void cleanup() { } }
viewmodel :
public class supplierviewmodel : workspaceviewmodel,idataerrorinfo { #region fields readonly supplier _supplier; readonly supplierrepository _supplierrepository; private idialogservice _dialogservice; #endregion //fields #region constructor public supplierviewmodel(supplier supplier, supplierrepository supplierrepository, idialogservice service) { _supplier = supplier; _supplierrepository = supplierrepository; _dialogservice = service; } #endregion //constructor }
my problem:
how resolve these dependencies ?
how able populate disign time info on ui , know, back upwards design time info in view want paraemeterless constructor in viewmodel ?
c# wpf mvvm mvvm-light
No comments:
Post a Comment