mirror of
https://github.com/PacktPublishing/Learn-WinUI-3-Second-Edition.git
synced 2026-06-20 12:23:09 +00:00
Add chapter 10 sample project
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
<Page
|
||||
x:Class="TemplateStudioSampleApp.Views.ListDetailsPage"
|
||||
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"
|
||||
xmlns:controls="using:CommunityToolkit.WinUI.UI.Controls"
|
||||
xmlns:models="using:TemplateStudioSampleApp.Core.Models"
|
||||
xmlns:views="using:TemplateStudioSampleApp.Views"
|
||||
xmlns:behaviors="using:TemplateStudioSampleApp.Behaviors"
|
||||
behaviors:NavigationViewHeaderBehavior.HeaderMode="Never"
|
||||
mc:Ignorable="d">
|
||||
<Page.Resources>
|
||||
<DataTemplate x:Key="ItemTemplate" x:DataType="models:SampleOrder">
|
||||
<Grid Height="60">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<FontIcon
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="32"
|
||||
Glyph="{x:Bind Symbol}"
|
||||
AutomationProperties.Name="{x:Bind SymbolName}" />
|
||||
<StackPanel
|
||||
Grid.Column="1"
|
||||
Margin="{StaticResource SmallLeftMargin}"
|
||||
VerticalAlignment="Center">
|
||||
<TextBlock Text="{x:Bind Company}" Style="{StaticResource ListTitleStyle}" />
|
||||
<TextBlock Text="{x:Bind Status}" Style="{StaticResource ListSubTitleStyle}" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
|
||||
<DataTemplate x:Key="DetailsTemplate">
|
||||
<Grid>
|
||||
<views:ListDetailsDetailControl ListDetailsMenuItem="{Binding}" />
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
|
||||
<DataTemplate x:Key="NoSelectionContentTemplate">
|
||||
<Grid>
|
||||
<TextBlock
|
||||
x:Uid="ListDetails_NoSelection"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
TextAlignment="Center"
|
||||
Style="{ThemeResource SubtitleTextBlockStyle}" />
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
|
||||
<DataTemplate x:Key="ListHeaderTemplate">
|
||||
<Grid Height="40">
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
Style="{StaticResource ListTitleStyle}"
|
||||
Text="{Binding}" />
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate x:Key="MinimalListHeaderTemplate">
|
||||
<Grid Height="40">
|
||||
<TextBlock
|
||||
Margin="96,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Style="{StaticResource ListTitleStyle}"
|
||||
Text="{Binding}" />
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</Page.Resources>
|
||||
|
||||
<Grid x:Name="ContentArea">
|
||||
<VisualStateManager.VisualStateGroups>
|
||||
<VisualStateGroup>
|
||||
<VisualState>
|
||||
<VisualState.StateTriggers>
|
||||
<!--641 is the default CompactModeThresholdWidth in NavigationView -->
|
||||
<AdaptiveTrigger MinWindowWidth="641" />
|
||||
</VisualState.StateTriggers>
|
||||
<VisualState.Setters>
|
||||
<Setter Target="ListDetailsViewControl.ListHeaderTemplate" Value="{StaticResource ListHeaderTemplate}" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
</VisualStateManager.VisualStateGroups>
|
||||
<controls:ListDetailsView
|
||||
x:Uid="ListDetails"
|
||||
x:Name="ListDetailsViewControl"
|
||||
BackButtonBehavior="Manual"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
DetailsTemplate="{StaticResource DetailsTemplate}"
|
||||
ItemsSource="{x:Bind ViewModel.SampleItems}"
|
||||
ItemTemplate="{StaticResource ItemTemplate}"
|
||||
ListHeaderTemplate="{StaticResource MinimalListHeaderTemplate}"
|
||||
NoSelectionContentTemplate="{StaticResource NoSelectionContentTemplate}"
|
||||
SelectedItem="{x:Bind ViewModel.Selected, Mode=TwoWay}"
|
||||
ViewStateChanged="OnViewStateChanged"/>
|
||||
</Grid>
|
||||
</Page>
|
||||
Reference in New Issue
Block a user