estara/Estara/Views/ListDetailsPage.xaml

101 lines
4.2 KiB
XML

<Page
x:Class="Estara.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:Estara.Core.Models"
xmlns:views="using:Estara.Views"
xmlns:behaviors="using:Estara.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>