2015-02-24 14 views
6

Tôi mới cho sự phát triển ứng dụng Xamarin, Tôi có một số câu hỏi sau:làm thế nào để gọi nền tảng trang cụ thể từ các xamarin.forms

  1. Có thể gọi trang cụ nền tảng từ trang Xamarin.Form?
  2. Tôi có thể thực hiện Điều hướng trang từ mô hình xem không?

Hãy để tôi giải thích rõ ràng.

Tôi có một trang XFView.xaml, XFView.xaml.csXFViewModel.cs trong PCL (Xamarin.Forms) dự án từ XFView.xaml.cs hoặc XFViewModel.cs tôi muốn gọi MAActivity.cs trang đó hiện diện trong Xamarin.Andriod dự án

tôi đã cố gắng rất nhiều nhưng đã nhận được bất kỳ ý tưởng .

Trả lời

7

Bất cứ khi nào bạn muốn gọi một cái gì đó từ bản địa (MAActivity.cs trong trường hợp của bạn), bạn phải sử dụng DependencyService.

Ví dụ:

  1. dịch vụ cài đặt phụ thuộc

    // 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. Invoke trong PCL

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

này hoạt động tốt dành cho Android - nhưng tôi đấu tranh để tìm thấy tương đương WP8. Dường như có một số giải pháp liên quan đến hiển thị tùy chỉnh, nhưng tôi muốn tránh điều đó ... –

+1

OK! '(Application.Current.RootVisual như PhoneApplicationFrame) .Điều hướng (mới Uri ("/PageName.xaml ", UriKind.Relative));' –

Các vấn đề liên quan