2015-02-24 10 views
6

Jestem nowy na Xamarin rozwoju aplikacji, mam kilka pytań:jak zadzwonić platformy konkretną stronę z xamarin.forms

  1. to możliwe, aby wywołać określoną stronę peronu od strony Xamarin.Form?
  2. Czy mogę wykonać nawigację po stronie z widoku modelu?

Pozwól mi wyjaśnić wyraźnie.

Mam stronę XFView.xaml, XFView.xaml.cs i XFViewModel.cs w PCL (Xamarin.Forms) wystają z XFView.xaml.cs lub XFViewModel.cs chcę zadzwonić MAActivity.cs stronę, która jest obecna w Xamarin.Andriod projektu

Próbowałem dużo, ale dostał się jakiś pomysł .

Odpowiedz

7

Zawsze, gdy chcesz wywołać coś z natywnego (MAActivity.cs w twoim przypadku), musisz użyć DependencyService.

Na przykład:

  1. usługi zależności Konfiguracja

    // 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. powołać się w PCL

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

Działa to dobrze dla Androida - ale mam trudności ze znalezieniem odpowiednik WP8. Wydaje się, że istnieją pewne rozwiązania z niestandardowymi renderami, ale wolałbym tego uniknąć ... –

+1

Gotowy! '(Application.Current.RootVisual jako PhoneApplicationFrame) .Navigate (nowy Uri ("/PageName.xaml ", UriKind.Relative));' –

Powiązane problemy