xaml - RadioButton not showing as "Checked" when bound value is true -


in project setting bool property true when constructing viewmodel.

in view, have radiobutton bound value of property. first time open view, radiobutton "checked" (perfect, want!).

however, if close , re-open view, radiobutton not "checked", despite bound property having value of 'true'. in constructor setting 'staggeredmode' true, setter being called 3 times (firstly, value = true; secondly, value = false; thirdly, value = true)

any appreciated!

xaml:

<radiobutton groupname="appointmentstart"               content="staggered"              ischecked="{binding staggeredmode, mode=twoway}"              verticalalignment="top"               horizontalalignment="left"              margin="310,247,0,0" /> 

c#:

private bool staggeredmode; public bool staggeredmode {     { return staggeredmode; }     set { staggeredmode = value; } } 

your staggeredmode property should observable view can notified property changes viewmodel.

you can implement inotifypropertychanged or use 1 of existing implementations this, this or this.

here basic implementation of inotifypropertychanged interface:

public abstract class observableobject : inotifypropertychanged {     public virtual void raisepropertychanged(string propertyname)     {         onpropertychanged(propertyname);     }      public event propertychangedeventhandler propertychanged;     protected virtual void onpropertychanged(string propertyname)     {         propertychangedeventhandler handler = this.propertychanged;         if (handler != null)         {             var e = new propertychangedeventargs(propertyname);             handler(this, e);         }     } } 

then derive viewmodel observableobject , raise onpropertychanged event every time property value has been changed:

public class myviewmodel : observableobject {     ...     private bool staggeredmode;     public bool staggeredmode     {         { return staggeredmode; }         set         {             staggeredmode = value;             onpropertychanged("staggeredmode");         }     }     ... } 

Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -