2017-10-14 13 views
0

私はxamarinフォームの検索バーを使用しています。クロスバーをクリックして検索バーの検索テキストを削除できません。私は検索バーのキャンセルテキストを削除するカスタムレンダラを使用しています。レンダラーを使用しているときにテキストを削除できません。そのレンダラーを削除してもうまくいきます。レンダラーファイルで何が間違っているのか検索バーの横にあるキャンセルボタンを非表示にするレンダラーのサンプルコードを示します。検索バーの削除テキストがxamarin iosで動作しない

レンダラのサンプルコード:

protected override void OnElementPropertyChanged(object sender, PropertyChnagedEventArgs e) 
    { 

     Control.ShowCancelButton = false; 
    } 

enter image description here

私はそれがxamarin IOSで働いていない検索バーにクロス画像をクリックすると、検索バーのテキストを削除しようとするが、それはIOSで正常に動作しています。

サンプルコード:

<StackLayout Grid.Column = "0" Orientation = "Horizontal"> 
<Image Source = "backarrow.png" HorizontalOptions = "StartAndExpand" VerticalOptions = "CenterAndExpand" />       
<controls:CustomSearchbar x:Name = "CustomSearchbar" BackgroundColor ="Transparent" Text ="{Binding SearchTag}" SearchCommand ="{Binding RestaurantSearchCommand}" GHorizontalOptions = "StartAndExpand" VerticalOptions = "CenterAndExpand" > 

ここで私は検索バーのために使用していますコードです。ここでは、 'customsearchbar'クラスはsearchrendererから継承されています。

+0

あなたのコード当社のXAMLのいずれかを共有することができ、あなたは検索バーを呼び出すために使用していますか? – cvanbeek

+0

こんにちはcvanbeek、私は私が使用しているサンプルコードを追加しています。 – Deepak

+0

問題を再現できません。私の側では、あなたのコードでうまく動作します(いくつかのスペルミスがあります)。私はあなたのために私のコードを掲載します。それが役に立てば幸い! –

答えて

0

私にとってはうまく動作します。

ここで例えば私のコードです:PCLで

MySearchBar.cs:IOSプラットフォームにおける

using Xamarin.Forms; 

namespace Kevin_XF 
{ 
    public class MySearchBar : SearchBar 
    { 

    } 
} 

MySearchBarRenderer.cs:メインページで

using Xamarin.Forms; 
using Xamarin.Forms.Platform.iOS; 
using Kevin_XF.iOS; 
using Kevin_XF; 
using System.ComponentModel; 

[assembly: ExportRenderer(typeof(MySearchBar),typeof(MySearchBarRenderer))] 
namespace Kevin_XF.iOS 
{ 
    public class MySearchBarRenderer: SearchBarRenderer 
    { 

     protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) 
     { 
      base.OnElementPropertyChanged(sender, e); 

      if (Control != null) 
      { 
       Control.ShowsCancelButton = false; 
      } 
     } 
    } 
} 

XAMLコード.xaml:

<StackLayout> 
     <local:MySearchBar x:Name = "CustomSearchbar" BackgroundColor ="Transparent" HorizontalOptions = "StartAndExpand" VerticalOptions = "CenterAndExpand" /> 
</StackLayout> 

それは次のように動作します。

enter image description here

+0

@Deepak、私の答えはあなたを助けましたか? –

関連する問題