summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared
diff options
context:
space:
mode:
authorPaul DiPietro <pauldipietro@users.noreply.github.com>2016-09-12 06:51:19 -0500
committerRui Marinho <me@ruimarinho.net>2016-09-12 12:51:19 +0100
commit368a375f13fc2e4b5ff00dbbdd7a2d6bb53988eb (patch)
tree35a8bc610aa00035dc70094737af529921806123 /Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared
parent420ceb37d0d1d78dde17c717614c6874684a399e (diff)
downloadxamarin-forms-368a375f13fc2e4b5ff00dbbdd7a2d6bb53988eb.tar.gz
xamarin-forms-368a375f13fc2e4b5ff00dbbdd7a2d6bb53988eb.tar.bz2
xamarin-forms-368a375f13fc2e4b5ff00dbbdd7a2d6bb53988eb.zip
[C] Prevent enabling a Button via setting a Command (#308)
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared')
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla43354.cs56
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems1
2 files changed, 57 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla43354.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla43354.cs
new file mode 100644
index 00000000..6ed77b96
--- /dev/null
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla43354.cs
@@ -0,0 +1,56 @@
+using System;
+
+using Xamarin.Forms.CustomAttributes;
+using Xamarin.Forms.Internals;
+
+#if UITEST
+using Xamarin.UITest;
+using NUnit.Framework;
+#endif
+
+namespace Xamarin.Forms.Controls.Issues
+{
+ [Preserve(AllMembers = true)]
+ [Issue(IssueTracker.Bugzilla, 43354, "Button command being set after IsEnabled enables the button", PlatformAffected.All)]
+ public class Bugzilla43354 : TestContentPage
+ {
+ protected override void Init()
+ {
+ var buttonIsEnabledSetFirst = new Button
+ {
+ Text = "Click to display an alert",
+ IsEnabled = false,
+ Command = new Command(() => DisplayAlert("Test", "Message", "Cancel")),
+ };
+
+ var buttonIsEnabledSetSecond = new Button
+ {
+ Text = "Click to enable/disable button",
+ Command = new Command(() =>
+ {
+ if (buttonIsEnabledSetFirst.IsEnabled)
+ buttonIsEnabledSetFirst.IsEnabled = false;
+ else
+ buttonIsEnabledSetFirst.IsEnabled = true;
+ })
+ };
+
+ var buttonSetCommandToNull = new Button
+ {
+ Text = "Click to set first button's command to null",
+ Command = new Command(() => buttonIsEnabledSetFirst.Command = null)
+ };
+
+ Content = Content = new StackLayout
+ {
+ VerticalOptions = LayoutOptions.Center,
+ Children =
+ {
+ buttonIsEnabledSetFirst,
+ buttonIsEnabledSetSecond,
+ buttonSetCommandToNull
+ }
+ };
+ }
+ }
+}
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
index adf173df..1e0a2732 100644
--- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
@@ -124,6 +124,7 @@
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla42364.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla42519.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla43516.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)Bugzilla43354.cs" />
<Compile Include="$(MSBuildThisFileDirectory)CarouselAsync.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla34561.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla34727.cs" />