Files
Learn-WinUI-3-Second-Edition/Chapter14/MyMediaCollection/Views/MainPage.xaml
T
2023-09-23 15:10:27 -04:00

90 lines
4.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Page
x:Class="MyMediaCollection.Views.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MyMediaCollection.Views"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:model="using:MyMediaCollection.Model"
mc:Ignorable="d">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel>
<StackPanel Orientation="Horizontal">
<SymbolIcon Symbol="Home" Margin="8"/>
<TextBlock Text="Home" Style="{StaticResource SubheaderTextBlockStyle}" Margin="8"/>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<TextBlock Text="Media Type:" Margin="4" Style="{StaticResource SubtitleTextBlockStyle}" VerticalAlignment="Bottom"/>
<ComboBox ItemsSource="{x:Bind ViewModel.Mediums, Mode=OneWay}" SelectedItem="{x:Bind ViewModel.SelectedMedium, Mode=TwoWay}" MinWidth="120" Margin="0,2,6,4" VerticalAlignment="Bottom"/>
</StackPanel>
</StackPanel>
<ListView Grid.Row="1" ItemsSource="{x:Bind ViewModel.Items}"
SelectedItem="{x:Bind ViewModel.SelectedMediaItem, Mode=TwoWay}"
DoubleTapped="{x:Bind ViewModel.ListViewDoubleTapped}">
<ListView.HeaderTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border BorderBrush="{ThemeResource SystemAccentColor}" BorderThickness="0,0,0,1">
<TextBlock Text="Medium" Margin="4,0,0,0" Style="{StaticResource TitleTextBlockStyle}"/>
</Border>
<Border Grid.Column="1" BorderBrush="{ThemeResource SystemAccentColor}" BorderThickness="0,0,0,1">
<TextBlock Text="Title" Margin="4,0,0,0" Style="{StaticResource TitleTextBlockStyle}"/>
</Border>
</Grid>
</DataTemplate>
</ListView.HeaderTemplate>
<ListView.ItemTemplate>
<DataTemplate x:DataType="model:MediaItem">
<Grid IsHitTestVisible="False">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{x:Bind Path=MediumInfo.Name}"/>
<TextBlock Grid.Column="1" Text="{x:Bind Path=Name}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Border Grid.Row="2"
BorderBrush="{ThemeResource SystemAccentColor}"
BorderThickness="0,1,0,1"
Margin="4,0">
<StackPanel HorizontalAlignment="Right"
Orientation="Horizontal">
<Button Command="{x:Bind ViewModel.SendToastCommand}"
Content="Send Notification"
Margin="8,8,0,8"/>
<Button Command="{x:Bind ViewModel.SendToastWithTextCommand}"
Content="Send Notification with Text"
Margin="8,8,0,8"/>
<Button Command="{x:Bind ViewModel.AddEditCommand}"
Content="Add/Edit Item"
Margin="8,8,0,8"/>
<Button Command="{x:Bind ViewModel.DeleteCommand}"
Content="Delete Item"
Margin="8"/>
</StackPanel>
</Border>
<InfoBar x:Name="notifyInfoBar" Grid.Row="3"/>
</Grid>
</Page>