Add a button to the FirstView.xaml
in the Views
folder of the MvvmCrossDemo.Uwp
project and bind the NavToPostListAsyncCommand
command of the FirstViewModel.cs
, as shown below:
<TextBlock Text="{Binding Greeting}"></TextBlock><Button Content="Post List" Command="{Binding NavToPostListAsyncCommand}"></Button>
Create a new Blank Page item called PostListView.xaml
to the Views folder in the MvvmCrossDemo.Uwp
project. Open PostListView.xaml.cs
and change the base class to MvxWindowsPage
class, like this:
namespace MvvmCrossDemo.Uwp.Views{[MvxViewFor(typeof(PostListViewModel))]public sealed partial class PostListView : MvxWindowsPage{public PostListView(){this.InitializeComponent();}}}
Open PostListView.xaml
and replace the content with the following codes:
<views:MvxWindowsPagex:Class="MvvmCrossDemo.Uwp.Views.PostListView"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"mc:Ignorable="d"Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"xmlns:views="using:MvvmCross.Platforms.Uap.Views" ><Grid></Grid></local:BaseView>
Add a ListView
control to the root layout and define the item template, like this:
<Grid><ListView ItemsSource="{Binding PostList}"><ListView.ItemTemplate><DataTemplate><StackPanel HorizontalAlignment="Stretch"><TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextBlockStyle}"></TextBlock><TextBlock Text="{Binding Body}"></TextBlock></StackPanel></DataTemplate></ListView.ItemTemplate></ListView></Grid>
Open the Package.appxmanifest
file and select Capabilities tab, and make sure the Internet (Client) option is checked. Here is the result: