Adding the View for the UWP project
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:MvxWindowsPage
x: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:

Last updated
Was this helpful?