我正在研究 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
集合中?
- 2 回答
- 0 关注
- 139 浏览
添加回答
举报
0/150
提交
取消