c# - Setting control values in an instance of a user control WPF -
c# - Setting control values in an instance of a user control WPF -
i new wpf , mvvm , trying follow design, have created window multiple user controls (10 of each) on it. these user controls hold value should able entered user , sent database.
the issue have creating user controls pragmatically in canvass , not know how utilize these instances set values on command view model have savemethod binded save button save info database. help.
mainwindow.xaml.cs
public partial class mainwindow : window { public mainwindow() { initializecomponent(); clientratesviewmodel viewmodel = new clientratesviewmodel(); datacontext = viewmodel; viewmodel.getchargeunits(); int previoustopprerate = 10; foreach (var rate in viewmodel.clientratespreawr) { preawr preawr = new preawr(); preawr.tbpreawrrate.text = rate.clientratespreawr; preratescanvas.children.add(preawr); preawr.width = 500; canvas.setleft(preawr, 10); canvas.settop(preawr, previoustopprerate + 10); previoustopprerate += +30; } int previoustoppostrate = 10; foreach (var rate in viewmodel.clientratespostawr) { postawr postawr = new postawr(); postawr.tbpostawrrate.text = rate.clientratespostawr; postratescanvas.children.add(postawr); postawr.width = 500; canvas.setleft(postawr, 10); canvas.settop(postawr, previoustoppostrate + 10); previoustoppostrate += +30; } } } itemscontrol xaml:
<itemscontrol name="icpreawr" margin="10,46,10,10"> <itemscontrol.itemtemplate> <datatemplate> <grid margin="0,0,0,5"> <grid.columndefinitions> <columndefinition width="*" /> <columndefinition width="100" /> </grid.columndefinitions> <textblock text="{binding clientratespreawr }" /> </grid> </datatemplate> </itemscontrol.itemtemplate> </itemscontrol>
technically origin right because defining view , datacontext. recommended utilize xaml if origin there no issue , no contradiction mvvm because code behind view code behind.
but here begins problems, instance instead of using foreach, should utilize itemscontrol itemtemplate preawr , itemssource clientratespreawr. feed itemscontrol , fill preawr itseld preawr usercontrol has tbpreawrrate set content {binding clientratespreawr} , fill value.
if need create code, properties of controls dependency properties , can bind them code using
https://msdn.microsoft.com/en-us/library/cc838207%28v=vs.95%29.aspx
i hope helps you, recommend create step design in xaml if project rules can done in way
indeed article helpful http://bit.ly/1coyrkq
c# wpf xaml mvvm
Comments
Post a Comment