簡體   English   中英

Xamarin形成+ prism登錄流程

[英]Xamarin forms + prism login flow

我是Xamarin Forms的新手(也是Prism中的新手)我正在嘗試創建我的第一個xamarin表單應用程序並需要一個登錄流程。

我試圖檢查用戶是否登錄了application.OnInitialized方法(並根據結果顯示Login或Main頁面)。 但問題是,如果我顯示登錄頁面,然后登錄后我顯示主頁面,那么用戶可以使用硬件按鈕導航到登錄頁面..

然后我試圖在主頁面的OnNavigationTo中檢查這個,但它也不起作用。 我在PRE版本和穩定版本中檢查了這個並且有不同的錯誤。 在其中一個導航只是沒有工作,在另一個 - 我得到一個錯誤,主頁無法創建。

然后我嘗試將導航服務注入MainPage(不是視圖模型),但我發現導航服務無法注入那里。

然后我決定在base之后從view發送消息.OnAppearing並在視圖模型中訂閱該消息,並根據需要進行導航登錄作為回調。 但是有一個非常奇怪的問題。 如果我在MainPage上使用ToolBarItems,那么在Windows手機上它從登錄頁面導航后就消失了(但突然,Windows手機上的登錄頁面有工具欄項目),看起來像Windows手機上的OnAppearing方法在工具欄項目加載之前觸發。 無論如何,這不是一個解決方案。

然后我決定添加一個空白頁面並在base.onAppearing進入視圖模型后發送消息,在該視圖模型中我重定向到Login或主頁面。 所以,它適用於一個小“BUT”。 如果我按下登錄頁面或主頁面上的硬件返回按鈕,我不會關閉應用程序,因為我導航到空白頁面,重定向到登錄頁面或主頁面。

有沒有一種正確的方法來使用棱鏡實現登錄流程? 我真的很喜歡它,因為它是非常強大的框架..提前感謝!

請記住,OnNavigatedTo僅在使用最新預覽版本並調用NavigationService.Navigate時才有效。 這里有幾種方法。 首先,您可以導航到MainPage,然后檢查OnNavigatedTo。 如果未登錄,請導航到LoginPage。 你也可以檢查App啟動。 顯示LoginPage時,可以使用絕對URI替換整個導航堆棧。 基本上這是設置MainPage = new MainPage()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM