2016-06-24 2 views
0

У меня есть простая контентная страница для тестирования различных событий. При переопределении OnBackButtonPressed в ViewModel событие не создается. По словам xamarin, событие не будет поднято на iOS, но оно должно работать на Android и WP. Но я не могу заставить его работать на этих платформах.OnBackButtonPressed не работает в ViewModel

Что мне не хватает?

TestPage.xaml

<?xml version="1.0" encoding="utf-8" ?> 
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      x:Class="TestPage.TestPage" 
      Title="testPage"> 
</ContentPage> 

TestPage.xaml.cs

public partial class TestPage : ContentPage 
{ 
    public TestPage() 
    { 
     InitializeComponent(); 
     this.BindingContext = new TestPageViewModel(); 
    } 
} 

ViewModel

public class TestPageViewModel : ContentPage, INotifyPropertyChanged 
{ 
    public TestPageViewModel() { } 
    protected override bool OnBackButtonPressed() 
    { 
     // Do stuff 
     return base.OnBackButtonPressed(); 
    } 
} 

ответ

1

Получил ответ на форуме Xamarin. Я должен поместить переопределение OnBackPressed в код моего файла xaml, а не на мою модель:

public partial class MyPage2 : ContentPage 
{ 
    public MyPage2() 
    { 
     InitializeComponent(); 
     this.BindingContext = new TestPageViewModel(); 
    } 

    protected override bool OnBackButtonPressed() 
    { 
     // Do stuff 
     return base.OnBackButtonPressed(); 
    } 
} 
+0

его рабочий тон ... отлично. – GvSharma

 Смежные вопросы

  • Нет связанных вопросов^_^