c# - How to do a simple XAML (WPF) conditional binding on the Visibility property -


i have got view model property:

public class mymodel {     public bool isenabled {get;set;} } 

i want use property toggle button state. if boolean true want hide button, , otherwise show it.

i tried things like:

<button visibility= "{binding isenabled ? hidden : visible  }">enable</button> 

but doesn't fit.

i tried more complex solution guess is, missing trivial.

any suggestions?

since want toggle between hidden , visible , true hidden can either write custom ivalueconverter or use simple style.trigger

<button content="enable">     <button.style>         <style targettype="{x:type button}">             <setter property="visibility" value="visible"/>             <style.triggers>                 <datatrigger binding="{binding isenabled}" value="true">                     <setter property="visibility" value="hidden"/>                 </datatrigger>             </style.triggers>                             </style>     </button.style> </button> 

this assuming datacontext set accordingly , mymodel.isenabled raises inotifypropertychanged.propertychanged event whenever changed

public class mymodel : inotifypropertychanged {     private bool _isenabled;      public bool isenabled     {         { return _isenabled; }         set         {             _isenabled = value;             onpropertychanged("isenabled");         }     }      #region inotifypropertychanged      public event propertychangedeventhandler propertychanged;      protected void onpropertychanged(string propertyname)     {         var handler = propertychanged;         if (handler != null) handler(this, new propertychangedeventargs(propertyname));     }      #endregion } 

Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -