페이지를 탐색하고 동시에 데이터를 바인드하려고합니다.mvvm을 사용하여 xamarin 양식의보기간에 데이터 전달
이 내가 시도 것입니다 :
public ICommand GetIdeasCommand
{
get
{
return new Command(async() =>
{
Ideas = await _apiServices.GetIdeasAsync();
await Application.Current.MainPage.Navigation.PushAsync(new IdeasSinglePage(Ideas));
});
}
}
그것은 내가 JSON에서 얻을 배열의 목록입니다 아이디어를 생각한다. 그러나 빈 페이지를 얻은 이래로이 접근법은 도움이되지 못합니다. 또한 페이지 내부에서이 함수를 호출하면 모든 것이 정상입니다. How to pass a parameter from one Page to another Page in Xamarin.Forms?
내보기 :
이<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Ideas.Pages.IdeasSinglePage"
xmlns:vm="clr-namespace:Ideas.ViewModel;assembly=Ideas"
Title="My Page">
<ContentPage.BindingContext>
<vm:IdeasViewModel/>
</ContentPage.BindingContext>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="20, 10">
<Label Text="{Binding Ideas}"
FontSize="12"
TextColor="RoyalBlue"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
코드 숨김
public partial class IdeasSinglePage : ContentPage
{
public IdeasSinglePage(List<Models.Ideas> ideas)
{
InitializeComponent();
this.BindingContext = new IdeasSinglePage(ideas); //the app breaks here
}
}
감사 이 포스팅은 저에게 아이디어를 주었다.
예상 출력은 얼마나됩니까? 'IdeasSinglePage'에 컨트롤이 있습니까? – EvZ
'Ideas = await _apiServices.GetIdeasAsync();'@EvZ –
에서 얻은 정보로보기를 채우고 싶습니다. 존재하는 경우 IdeasSinglePage 코드 숨김과 XAML을 공유하십시오. @Aldo – EvZ