diff options
author | Jason Smith <jason.smith@xamarin.com> | 2016-04-06 23:09:45 -0700 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2016-04-06 23:09:45 -0700 |
commit | 1363f383b17d68fbafadc773b9f06f477f9744c9 (patch) | |
tree | 2d960e309bd04375167b37c5d31100a9f3f1e448 | |
parent | 26604911bf6e412aa35a36236d04eded8d7bf17c (diff) | |
download | xamarin-forms-1363f383b17d68fbafadc773b9f06f477f9744c9.tar.gz xamarin-forms-1363f383b17d68fbafadc773b9f06f477f9744c9.tar.bz2 xamarin-forms-1363f383b17d68fbafadc773b9f06f477f9744c9.zip |
[C] Cast to ICommand instead of Command inside SearchBar
-rw-r--r-- | Xamarin.Forms.Core.UnitTests/SearchBarUnitTests.cs | 23 | ||||
-rw-r--r-- | Xamarin.Forms.Core/SearchBar.cs | 4 |
2 files changed, 24 insertions, 3 deletions
diff --git a/Xamarin.Forms.Core.UnitTests/SearchBarUnitTests.cs b/Xamarin.Forms.Core.UnitTests/SearchBarUnitTests.cs index a09aa429..d9993829 100644 --- a/Xamarin.Forms.Core.UnitTests/SearchBarUnitTests.cs +++ b/Xamarin.Forms.Core.UnitTests/SearchBarUnitTests.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; - +using System.Windows.Input; using NUnit.Framework; namespace Xamarin.Forms.Core.UnitTests @@ -108,5 +108,26 @@ namespace Xamarin.Forms.Core.UnitTests Assert.True (searchBar.IsEnabled); } + + class MyCommand : ICommand + { + public bool CanExecute(object parameter) + { + return true; + } + + public void Execute(object parameter) + { + } + + public event EventHandler CanExecuteChanged; + } + + [Test] + public void DoesNotCrashWithNonCommandICommand() + { + var searchBar = new SearchBar(); + Assert.DoesNotThrow(() => searchBar.SearchCommand = new MyCommand()); + } } } diff --git a/Xamarin.Forms.Core/SearchBar.cs b/Xamarin.Forms.Core/SearchBar.cs index 089d9427..f3d51611 100644 --- a/Xamarin.Forms.Core/SearchBar.cs +++ b/Xamarin.Forms.Core/SearchBar.cs @@ -134,8 +134,8 @@ namespace Xamarin.Forms static void OnCommandChanged(BindableObject bindable, object oldValue, object newValue) { var self = (SearchBar)bindable; - var newCommand = (Command)newValue; - var oldCommand = (Command)oldValue; + var newCommand = (ICommand)newValue; + var oldCommand = (ICommand)oldValue; if (oldCommand != null) { |