WPF MVVM ListBox SelectedItem not highlighted -
i have simple listbox in wpf app bound view model, xaml looks like:
<listbox itemssource="{binding drivers}" selecteditem="{binding selecteddriver, mode=twoway}" />
in view model, selecteddriver set, expect when view displays, driver in list box correlates selecteddriver should highlighted not.
what need selecteditem highlighted when selecteditem value set in view model?
solved: based on answers below, realized while selecteddriver object in fact being set, did not belong drivers collection. once corrected this, working expected. input. don't have enough points increment points on answers much.
edit: view model implement inotifypropertychanged. many other items in view displayed based on bindings.
edit: view model constructor housekeeping, , 1 of things set various view elements prior states. 1 of elements drivers list box, in view model code, being set actual item describe: selecteddriver = drivers.where(d => d.id == savedid) have verified in debug code finding correct driver , value of selecteddriver correct, not being highlighted in ui.
all viewmodels inherit viewmodelbase implements inotifypropertychanged. have call event handler notify ui data changed.
public abstract class viewmodelbase : inotifypropertychanged { public event propertychangedeventhandler propertychanged; protected virtual void raisepropertychanged(string propertyname) { propertychangedeventhandler handler = this.propertychanged; if (handler != null) { var e = new propertychangedeventargs(propertyname); handler(this, e); } } }
so selecteddriver this:
private driver selecteddriver; public driver selecteddriver { { return selecteddriver; } set { selecteddriver = value; raisepropertychanged("selecteddriver"); } }
if bound properly, , selecteddriver belongs class inherits viewmodelbase, should work. if doesn't, might check output window bad bindings.
Comments
Post a Comment