c# - WPF Datagrid lookup Combobox -
i have basic mvvm wpf application shows bunch of user related info in datagrid
. example have 2 classes (i simplified classes , have not implemented inotifypropertychanged
in real application)
public class address { public string streetname { get; set; } } public class person { public string name { get; set; } public string street { get; set; } }
my viewmodel
contains 2 observablecollections
.
observablecollection<person>
observablecollection<address>
i bind viewmodel
window
, shows persons collection fine. want, address combobox
, user can select values address collection above. lookup table.
here xaml code. managed, shows address collection, wont show me actual record person collection inital record.
<datagridtextcolumn header="name" binding="{binding name}"></datagridtextcolumn> <datagridtextcolumn header="street" binding="{binding street}"></datagridtextcolumn> <datagridtemplatecolumn> <datagridtemplatecolumn.celltemplate> <datatemplate> <combobox itemssource="{binding datacontext.addresses, relativesource={relativesource findancestor, ancestortype={x:type local:mainwindow}}}" displaymemberpath="streetname"> </combobox> </datatemplate> </datagridtemplatecolumn.celltemplate> </datagridtemplatecolumn>
set selecteditem
or selectedvalue
property (depending on you're binding to), address. if storing street name you'd have this:
<datatemplate> <combobox itemssource="..." displaymemberpath="streetname" selectedvaluepath="streetname" selectedvalue="{binding street}"/> </datatemplate>
Comments
Post a Comment