ReactiveCommand: CanExecute not updating
<p>I'm trying to create a ReactiveCommand within the constructor of a ViewModel:</p>

<pre><code>IObservable&lt;bool&gt; canExecute = this
  .WhenAnyValue(x =&gt; x.InsertableItems, x =&gt; x.IsRefreshing,
  (insertableItems, isRefreshing) =&gt; !isRefreshing &amp;&amp; insertableItems &gt; 0);

canExecute.Subscribe(x =&gt; this.Logger.LogInformation("Can execute changed: {0}", x));

this.ConvertCmd = ReactiveCommand.CreateAsyncTask(canExecute, ConvertCmdExecute);
</code></pre>

<p>ConvertCmd is then bound to the Command property of a button in my GUI,</p>

<pre><code>&lt;Button Content="Convert" Command="{Binding ConvertCmd, Mode=OneWay}" /&gt;
</code></pre>

<p>However, the GUI button remains greyed out and never becomes enabled</p>

<p>A few things to note:</p>

<ul>
<li>In my logger, I'm seeing several updates "Can execute changed: ...", with the very latest / last value being True (as expected). So seems like my IObservable canExecute does create the correct, expected sequence of values; a sequence which eventually ends with true.</li>
<li>When I create the command using  ReactiveCommand.CreateAsyncTask(ConvertCmdExecute)  - i.e. omitting the canExecute parameter - the button is enabled and executes ConvertCmdExecute on click, also just as expected. So seems like databinding itself etc. works.</li>
</ul>

<p>I'm a loss here. Does anyone have an idea of why the button never becomes enabled in my original scenario?</p>