2016-10-06 4 views
0

ToolbarItems.Add(new ToolbarItem("Save", null,() => (BindingContext as AddPersonViewModel).SaveCommand.Execute(null))); 내 도구 모음 항목 코드. Save btn을 누른 다음 savecommand.execute를 누를 때마다!xamarin.forms의 동일한 툴바 항목에 2 개의 명령을 저장하는 방법은 무엇입니까?

이 버튼에 명령을 하나 더 추가하고 싶습니다. 저장 버튼을 클릭 할 때마다 데이터를 저장하고 anothe 페이지로 이동합니다. 내가 어떻게 할 수 있니? 감사합니다

(당신은 단지 toolbaritem 또는 ICommand의 지원 XForms에있는 모든 컨트롤에 하나 개의 명령을 바인딩 할 수 있습니다.) 또 다른 명령을

답변

0

총 두 개의 명령을 다른 명령을

public ICommand SaveAndNavigateCommand { 
get{ 
    return new Command(()=>{ 
     SaveCommand.Execute(null); 
     NavigateCommand.Execute(null); 
    }); 
} 
} 

총 두 명령

탐색 명령은 사용하는 MVVM 프레임 워크에 따라 다릅니다. 당신이 어떤을 사용하지 않는 경우, 코드는 다음과 같이 표시됩니다 다음

class AddPersonViewModel{ 

readonly INavigation _navigation; 

public AddPersonViewModel(INavigation navigation){ 
    _navigation = navigation; 
} 

public ICommand NavigateCommand { 
get{ 
    return new Command(()=>{ 
     _navigation.PushAsync(new ContentPage()); //Insert here page that you want navigate to 
    }); 
} 
} 

} 

그리고를, 당신은 페이지 클래스를 만드는 것이 가정, 뷰 모델을 만들 때 :

class AddPersonPage: Page{ 
    public AddPersonPage(){ 
     InitializeComponent(); 
     this.BindingContext = new AddPersonViewModel(this.Navigation); 
    } 
} 
+0

감사합니다! 내 NavigateCommand는 어떻게 생겼을까요? protected async void Navigate() { ??? }' – BaS

+0

사용하는 MVVM 프레임 워크에 따라 다릅니다. 어느 쪽을 사용합니까? – Greensy

관련 문제