title: Xamarin Forms ToolbarItem doesn't change IsEnabled from XAML
body: <p>I'm facing a problem with <code>ToolbarItem</code> and <code>IsEnabled</code> property when trying to turn it on/off from XAML using triggers. <code>ToolbarItem</code> doesn't support triggers, so what I do is to create a <code>Button</code> (a hidden one) which supports triggers and then bind <code>Button.IsEnabled</code> to <code>ToolbarItem.IsEnabled</code>; here is the sample code:</p>
  
  <pre><code>    &lt;ContentPage.ToolbarItems&gt;
          &lt;ToolbarItem x:Name="tlbSave" Text="Save" Clicked="Handle_Clicked"&gt;
              &lt;ToolbarItem.IsEnabled&gt;
                  &lt;Binding Source="{x:Reference btnTest}" Path="IsEnabled" /&gt;
              &lt;/ToolbarItem.IsEnabled&gt;
          &lt;/ToolbarItem&gt;
      &lt;/ContentPage.ToolbarItems&gt;
  
      &lt;ContentPage.Content&gt;
  
          &lt;StackLayout Padding="10" VerticalOptions="CenterAndExpand"&gt;
  
              &lt;Entry x:Name="txtTest" HorizontalOptions="FillAndExpand" /&gt;
  
              &lt;Button x:Name="btnTest" Text="HIDDEN" IsEnabled="false" HorizontalOptions="FillAndExpand"&gt;
                  &lt;Button.Triggers&gt;
                      &lt;MultiTrigger TargetType="Button"&gt;
                          &lt;MultiTrigger.Conditions&gt;
                              &lt;BindingCondition Binding="{Binding Source={x:Reference txtTest}, Path=Text.Length,
                                                             Converter={convert:IsPositiveIntegerConverter}}" Value="true" /&gt;
                          &lt;/MultiTrigger.Conditions&gt;
  
                          &lt;Setter Property="IsEnabled" Value="True" /&gt;
                      &lt;/MultiTrigger&gt;
                  &lt;/Button.Triggers&gt;
              &lt;/Button&gt;
  
          &lt;/StackLayout&gt;
  
      &lt;/ContentPage.Content&gt;
  </code></pre>
  
  <p>If you try this piece of code you will see how <code>btnTest</code> gets enable/disable when <code>txtTest.Text</code> has some value. But it isn't affecting <code>tlbSave.IsEnabled</code> property.</p>
  
  <p>However, this work perfect in code behind when I set <code>tlbSave.IsEnabled</code> into <code>btnText.PropertyChanged</code> <strong>EventHandler</strong></p>
  
  <p><code>btnTest.IsVisible</code> is <strong>false</strong>, I'm just showing it up for testing purposes.</p>
  
  <p>Any idea about how to deal with this? </p>