xaml - WPF Button IsEnabled Bound PropertyChanged Event Not Firing Asynchronously -


i have xaml window button has isenabled property bound boolean property in window's viewmodel.

xaml:

 <button  isenabled="{binding searchbuttonenabled}"  command="{binding search}"  content="search" /> 

viewmodel:

       public bool searchbuttonenabled        {                           {                 return _searchbuttonenabled;             }             set             {                 if (_searchbuttonenabled != value)                 {                     _searchbuttonenabled = value;                     propertychanged(this, new propertychangedeventargs("searchbuttonenabled"));                 }             }         } 

in viewmodel constructor calling async function populate datagrid:

private async void loadsearchgrid()         {             string sql = "query takes long time";             sqlcommand gridsourcecommand = new sqlcommand(sql, conn);              searchfilters = new displaysearchfiltercollection();              searchbuttonenabled = false;             searchgridsource = await getdatatableasync(gridsourcecommand);             searchbuttonenabled = true;         } 

now, code giving me issues line:

searchbuttonenabled = true; 

the line disables searchbuttonenabled property always works, while line enabling works. if replace "query takes long time" "query takes little time" property enabled fine , ui updated accordingly. otherwise button stays disabled. have done research on topic , obvious updating ui can problematic if done on worker thread, haven't found reason why in context. or guidance appreciated.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -