首页 > 解决方案 > 使用 Materialpickerrender 一次选择并取消按钮标题在 Xamarin 表单中显示顶部

问题描述

在此处输入图像描述我们在我们的应用程序中使用视觉材料选择器控件。如果我从选择器弹出标题中选择任何内容,则会在下面显示顶部和选定的值。如果我从选择器弹出标题中单击取消,也会显示顶部。它应该处于默认状态。如何解决这个 xamarin 形式的 android 和 ios?

内部类 CustomMaterialPickerRenderer : MaterialPickerRenderer {

}

在此处输入图像描述

标签: xamarinxamarin.formsxamarin.androidxamarin.ios

解决方案


如果我理解正确,您是否要在单击取消按钮时将标题恢复到默认位置?

我在 iOS 和 Android 上都进行了测试,问题只发生在 Android 端。

Android平台解决方案:
[assembly: ExportRenderer(typeof(Picker), typeof(MyRenderer), new[] { typeof(VisualMarker.MaterialVisual) })]
namespace FormsApp.Droid
{
    class MyRenderer : MaterialPickerRenderer
    {
        Context _context;

        public MyRenderer(Context context) : base(context)
        {
            _context = context;        
        }

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


            if(Element.IsFocused == false)
            {
                Control.EditText.ClearFocus();
            }
        }     
    }
}

推荐阅读