You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MAUI中以编程方式显示Picker下拉菜单?

在MAUI中触发Picker下拉窗口的方法

在Xamarin里,调用myPicker.Focus()就能直接弹出Picker的下拉菜单,但MAUI里有个区别:如果Picker已经处于聚焦状态,重复调用Focus()不会触发下拉弹窗。解决这个问题可以用以下两种方式:

  • 通用兼容方案
    先检查Picker是否已经聚焦,如果是,先取消焦点再重新调用Focus(),以此强制触发下拉:

    if (myPicker.IsFocused)
    {
        myPicker.Unfocus();
    }
    myPicker.Focus();
    

    这个方法简单有效,适配大多数场景。

  • 平台原生调用(备选)
    如果通用方案不满足需求,可以针对不同平台直接操作原生控件:

    • Android平台:获取原生Spinner控件,调用PerformClick()
      #if ANDROID
      var nativeSpinner = myPicker.Handler.PlatformView as Android.Widget.Spinner;
      nativeSpinner?.PerformClick();
      #endif
      
    • iOS平台:获取原生按钮控件,触发点击事件
      #if IOS
      var nativePickerBtn = myPicker.Handler.PlatformView as UIKit.UIButton;
      nativePickerBtn?.SendActionForControlEvents(UIKit.UIControlEvent.TouchUpInside);
      #endif
      

内容的提问来源于stack exchange,提问作者BlueRaja - Danny Pflughoeft

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 19:12:08