我正在尝试测试应用程序的当前页面是否为CardsTabPage,如下所示:
_page.CurrentPage is Japanese.CardsTabPage
但是,即使当我使用调试器时,它总是返回false,似乎它应该显示为true。这是我将鼠标悬停在CurrentPage上时看到的:
是否有人知道什么地方可能出问题以及为什么这样做:
返回的不是真的吗?
我也尝试过此方法,但是它不起作用:
答案 0 :(得分:1)
您需要访问_page.CurrentPage.CurrentPage
,但是您不能直接这样做,因为_page.CurrentPage
的编译时类型仅为Page
。您需要先将其强制转换为NavigationPage
,然后使用该属性的CurrentPage
。
如果您的编译器支持模式匹配,则可以执行以下操作:
if (_page.CurrentPage is NavigationPage np && np.CurrentPage is Japanese.CardsTabPage)
否则,您将需要以下内容:
if (_page.CurrentPage is NavigationPage &&
((NavigationPage) _page.CurrentPage).CurrentPage is Japanese.CardsTabPage)