亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Xamarin Forms CustomPicker 問題

Xamarin Forms CustomPicker 問題

C#
狐的傳說 2022-12-04 10:37:02
我確實在 XamarinForms 上寫了一個 CustomRenderer 來風格化我的選擇器。但是在常規的選擇器上我現在遇到了這個問題,如果我選擇它們,但是點擊屏幕上的任何地方,這樣它們就會在不點擊提示的情況下失去焦點,從而使它們無法使用。所以我不能再選擇同一個選擇器了,因為焦點(或點擊)事件不再觸發。奇怪的是,我還有一個日期和時間選擇器,其內容具有相同的程式化內容,但不會發生此問題...選擇器的 XAML:<CustomAndroidPicker:CustomAndroidPicker x:Name="ParkPicker" ItemDisplayBinding="{Binding Name}" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="6" SelectedIndexChanged="ParkSelectionChanged" />這就是我在 Android 特定項目上連接我的 CustomRenderer 的代碼:[assembly: ExportRenderer(typeof(CustomAndroidPicker), typeof(CustomPickerAndroid))]namespace SolarmonAndroidApp.Droid{public class CustomPickerAndroid : PickerRenderer{    public CustomPickerAndroid(Context context) : base (context)    {    }    protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.Picker> e)    {        base.OnElementChanged(e);        if (Control != null)        {            Control.Background = Android.App.Application.Context.GetDrawable(Resource.Drawable.CustomAndroidEntryDraw);            Control.Gravity = GravityFlags.CenterHorizontal;            Control.SetPadding(5, 10, 5, 10);        }                }}}
查看完整描述

1 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

實際上有兩個 PickerRendererXamarin.Forms.Platform.Android.AppCompat.PickerRenderer和基本Xamarin.Forms.Platform.Android的,基本的有這個問題你實際需要做的是這樣的:


namespace SolarmonAndroidApp.Droid

{

[assembly: ExportRenderer(typeof(CustomAndroidPicker), typeof(CustomPickerAndroid))]

 public class CustomPickerAndroid : Xamarin.Forms.Platform.Android.AppCompat.PickerRenderer

 {

    public CustomPickerAndroid(Context context) : base(context)

    {


    }

    protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.Picker> e)

    {

        base.OnElementChanged(e);

        if (Control != null)

        {

            Control.Background = Android.App.Application.Context.GetDrawable(Resource.Drawable.CustomAndroidEntryDraw);

            Control.Gravity = GravityFlags.CenterHorizontal;

            Control.SetPadding(5, 10, 5, 10);

        }

    }

}


查看完整回答
反對 回復 2022-12-04
  • 1 回答
  • 0 關注
  • 134 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號