diff options
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2191.cs')
-rw-r--r-- | Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2191.cs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2191.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2191.cs new file mode 100644 index 00000000..b334030f --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue2191.cs @@ -0,0 +1,51 @@ +using System; + +using Xamarin.Forms; +using Xamarin.Forms.CustomAttributes; + +namespace Xamarin.Forms.Controls +{ + [Preserve (AllMembers=true)] + [Issue (IssueTracker.Github, 2191, "ToolBarItem not showing as disabled when CanExecute is set to false", PlatformAffected.Android)] + public class Issue2191 : ContentPage + { + public Issue2191 () + { + var stackPanel = new StackLayout { VerticalOptions = LayoutOptions.End }; + var button = new Button { Text = "Disable" }; + var button1 = new Button { Text = "Enable" }; + button1.Clicked+= (sender, e) => { + _dummyResult = true; + PunchSubmitCommand.ChangeCanExecute(); + }; + var tbItem = new ToolbarItem { Icon = "menuIcon.png" }; + var tbItem2 = new ToolbarItem { Icon = "menuIcon.png", Text="submit" }; + button.SetBinding (Button.CommandProperty, new Binding ("PunchSubmitCommand")); + tbItem.SetBinding (MenuItem.CommandProperty, new Binding ("PunchSubmitCommand")); + tbItem2.SetBinding (MenuItem.CommandProperty, new Binding ("PunchSubmitCommand")); + button.BindingContext = tbItem.BindingContext = tbItem2.BindingContext = this; + ToolbarItems.Add(tbItem); + var toolbar = new Toolbar { BackgroundColor = Color.Red }; + toolbar.Add (tbItem2); + stackPanel.Children.Add (toolbar); + stackPanel.Children.Add (button); + stackPanel.Children.Add (button1); + Content = stackPanel; + } + + bool _dummyResult = true; + + Command _punchSubmitCommand; + public Command PunchSubmitCommand + { + get + { + return _punchSubmitCommand ?? (_punchSubmitCommand = new Command(() => { + _dummyResult = !_dummyResult; + PunchSubmitCommand.ChangeCanExecute(); + }, + () => _dummyResult)); + } + } + } +} |