首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当以编程方式将tab更改为"More“中的tab时,TabbedPage selectedItem不会更改

在 Xamarin.Forms 中,当以编程方式将 TabbedPage 中的选项卡更改为 "More" 中的选项卡时,TabbedPage 的 SelectedItem 属性不会自动更改。这是因为 SelectedItem 属性只会在用户通过交互方式更改选项卡时触发。

要以编程方式更改选项卡并更新 SelectedItem 属性,可以使用以下步骤:

  1. 获取 TabbedPage 中的 TabBar 对象:
代码语言:txt
复制
var tabBar = (TabBar)this.FindByName("tabBar"); // tabBar 是 TabbedPage 中的 TabBar 控件的名称
  1. 获取 "More" 选项卡的索引:
代码语言:txt
复制
var moreTab = tabBar.Children[tabBar.Children.Count - 1]; // "More" 选项卡是最后一个选项卡
var moreTabIndex = tabBar.Children.IndexOf(moreTab);
  1. 更改选项卡并更新 SelectedItem 属性:
代码语言:txt
复制
tabBar.CurrentPage = tabBar.Children[moreTabIndex - 1]; // 将选项卡更改为 "More" 中的选项卡之前的选项卡
this.SelectedItem = tabBar.CurrentPage; // 更新 SelectedItem 属性

这样,通过编程方式将选项卡更改为 "More" 中的选项卡时,TabbedPage 的 SelectedItem 属性也会相应地更新。

关于 Xamarin.Forms 的 TabbedPage 控件和 TabBar 控件的更多信息,可以参考腾讯云的 Xamarin.Forms 文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • JavaSwing_8.1:焦点事件及其监听器 - FocusEvent、FocusListener

    低级别事件指示Component已获得或失去输入焦点。 由组件生成此低级别事件(如一个TextField)。 该事件被传递给每一个FocusListener或FocusAdapter注册,以接收使用组件的此类事件对象addFocusListener方法。 ( FocusAdapter对象实现FocusListener接口。)每个此类侦听器对象获取此FocusEvent当事件发生时。 有两个焦点事件级别:持久性和暂时性的。 永久焦点改变事件发生时焦点直接移动从一个组件到另一个,例如通过到requestFocus的(呼叫)或作为用户使用TAB键遍历组件。 当暂时丢失焦点的组件的另一个操作,比如释放Window或拖动滚动条的间接结果一时焦点变化的事件发生。 在这种情况下,原来的聚焦状态将被自动一旦操作完成恢复,或者,对于窗口失活的情况下,当窗口被重新激活。 永久和临时焦点事件使用FOCUS_GAINED和FOCUS_LOST事件id传递; 水平可以使用isTemporary()方法的事件区分开来。 如果未指定的行为将导致的id任何特定的参数FocusEvent实例不是从范围FOCUS_FIRST到FOCUS_LAST

    01

    收发数据页面原来这么简单!(自制上位机)

    我们在平时使用单片机制作项目时,总是希望能够实时显示一些数据,并将这些数据进行处理,从而进行使用。那么上位机就必不可少了。上位机是指可以直接发出操控命令的计算机,一般是PC屏幕上显示各种信号变化。下位机是直接控制设备获取设备状况的计算机,一般是单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。简言之如此,实际情况千差万别,但万变不离其宗:上下位机都需要编程,都有专门的开发系统。

    02
    领券