我正在研究 xamarin.forms。我需要通過左右交換或單擊而不使用自定義渲染器來檢測(cè)選項(xiàng)卡被更改的事件我嘗試了以下事件,但是在推送子頁面或更改選項(xiàng)卡時(shí),它在兩種情況下都會(huì)觸發(fā)。我怎樣才能得到選項(xiàng)卡被更改的孤立事件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; }}我面臨的這個(gè)問題是:在下面的截圖中,第 1 部分是 Homepage(title="Diary") & part2 是 Childpage(title="Homework") 當(dāng)我更改選項(xiàng)卡并再次來到第一個(gè)選項(xiàng)卡時(shí),導(dǎo)航欄標(biāo)題將“作業(yè)”更改為《日記》(Screeshot2)
2 回答

紅顏莎娜
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
我不認(rèn)為你可以實(shí)現(xiàn)你想做的事情,至少不是這樣。該事件的行為方式與所描述的一樣:每當(dāng)當(dāng)前頁面發(fā)生變化時(shí)都會(huì)觸發(fā)它,也適用于兒童。
話雖如此,我認(rèn)為您應(yīng)該專注于使用我們擁有的工具實(shí)現(xiàn)您想要的功能。我真的無法從你的代碼中推斷出你想要做什么,但看起來你想改變標(biāo)題?更改選項(xiàng)卡時(shí)?為什么不設(shè)置某種條件只對(duì)某些頁面執(zhí)行此操作?例如,頁面何時(shí)包含在Children
集合中?
- 2 回答
- 0 關(guān)注
- 154 瀏覽
添加回答
舉報(bào)
0/150
提交
取消