2014-10-02 82 views
3

我試圖將Xamarin.Forms頁面添加到現有的Xamarin Android應用程序。將Xamarin.Forms添加到現有的Xamarin應用程序

我在努力弄清楚如何混合原生Xamarin Android頁面和Xamarin.Forms頁面。

我所看到的所有文章和例子都描述了Forms或Xamarin應用程序,而不是兩者的混合體。

到目前爲止,我已閱讀的最好的想法是添加本機存根,並用Xamarin.Forms內容替換內容,但我不知道如何實現此目的。

更新

我使用MvvmCross因此我的Android畫面從MvxActivity繼承。我有一個包含使用Xamarin.Forms視圖的StackLayout。我如何獲得XF轉換爲android代碼,所以我可以使用SetContentView?

回答

2

當你創建一個新的Xamarin.Forms項目,例如與SharedProject的做法,它會創建一個會爲你的每一個平臺上執行的啓動項目和初始類文件。

例如對Android這是在MainActivity.cs。如果你看看這個文件,你會注意到它繼承自AndroidActivity,它繼而繼承活動,這是活動中使用的典型類。

所以,你有兩個選擇,爲您營造一個混混合動力解決方案: -

1)繼承AndroidActivity平臺specifc存根頁應該要顯示Xamarin 。表格內容或

2)繼承自活動,並且照常進行。

如果你想從存根頁面顯示Xamarin.Forms然後你可以只用一些鍋爐板代碼,如在的OnCreate方法如下: -

SetPage({some class that returns a Xamarin.Forms.Page object, i.e. ContentPage}); 

然後,您可以使用普通的導航專用於Android的既顯示Xamarin.Forms頁面或特定於平臺的活動頁。

+0

聽起來很有趣。不幸的是我使用MvvmCross並且有一個不能轉換爲AndroidActivity的MvxActivity。我可以得到一個StackLayout,並且可以在我的android頁面中使用SetContentView,但是如何將StackLayout轉換爲android會識別的內容? – 2014-10-02 02:58:43

+0

在http://blog.ostebaronen.dk/2014/07/xamarinforms-and-mvvmcross.html中有一個使用這兩個示例的示例 – Stuart 2014-10-02 07:06:21

相關問題