为了账号安全,请及时绑定邮箱和手机立即绑定

检测选项卡更改事件

检测选项卡更改事件

C#
回首忆惘然 2021-08-07 16:45:21
我正在研究 xamarin.forms。我需要通过左右交换或单击而不使用自定义渲染器来检测选项卡被更改的事件我尝试了以下事件,但是在推送子页面或更改选项卡时,它在两种情况下都会触发。我怎样才能得到选项卡被更改的孤立事件public class MyTabbedPage : TabbedPage{   public MyTabbedPage()   {      this.CurrentPageChanged += CurrentPageHasChanged;   }   protected void CurrentPageHasChanged(object sender,EventArgs e)   {       var pages= Navigation.NavigationStack;       if (pages.Count > 0)       {           this.Title = pages[pages.Count - 1].Title;       }       else       this.Title = this.CurrentPage.Title;   }}我面临的这个问题是:在下面的截图中,第 1 部分是 Homepage(title="Diary") & part2 是 Childpage(title="Homework") 当我更改选项卡并再次来到第一个选项卡时,导航栏标题将“作业”更改为《日记》(Screeshot2)
查看完整描述

2 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

我不认为你可以实现你想做的事情,至少不是这样。该事件的行为方式与所描述的一样:每当当前页面发生变化时都会触发它,也适用于儿童。

话虽如此,我认为您应该专注于使用我们拥有的工具实现您想要的功能。我真的无法从你的代码中推断出你想要做什么,但看起来你想改变标题?更改选项卡时?为什么不设置某种条件只对某些页面执行此操作?例如,页面何时包含在Children集合中?


查看完整回答
反对 回复 2021-08-07
  • 2 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信