2015-02-24 35 views
6

我是新來的xamarin應用開發,我有一些問題的平臺特定的頁面:如何調用從xamarin.forms

  1. 是否有可能從 Xamarin.Form頁面調用平臺特定的頁面?
  2. 我可以從視圖模型做頁面導航嗎?

讓我解釋清楚。

我有一個頁面XFView.xamlXFView.xaml.cs和PCL XFViewModel.cs(Xamarin.Forms)從XFView.xaml.csXFViewModel.cs我想打電話給MAActivity.cs頁這是目前在Xamarin.Andriod項目

我嘗試了很多項目,但得到了得到任何想法。

回答

7

無論何時您想從本地調用某些東西(您的情況爲MAActivity.cs),您都必須使用DependencyService。

例如:

  1. 設置依存服務

    // PCL Project 
    public interface INativePages 
    { 
        void StartMA(); 
    } 
    
    // MonoDroid Project 
    [assembly: Dependency(typeof(NativePages))] 
    
    public class NativePages : INativePages 
    { 
        public void StartMA() 
        { 
         var intent = new Intent(Forms.Context, typeof(MAActivity)); 
         Forms.Context.StartActivity(intent); 
        } 
    } 
    
  2. 援引PCL

    // PCL Project 
    DependencyService.Get<INativePages>().StartMA(); 
    
+0

這非常適用於Android的 - 但我在努力尋找相當於WP8。似乎有一些涉及自定義渲染的解決方案,但我寧願避免這種... – 2015-07-06 13:51:30

+1

明白了! '(Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri(「/ PageName.xaml」,UriKind.Relative));' – 2015-07-06 13:58:45