/
githubmirror
/
Files
Обзор
Документация
Войти
/
githubmirror
/
Files
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Files.App/Views/Layouts/DetailsLayoutPage.xaml
1 575 строк
69 KB
yair100
Feature: Replaced 'folder not found' dialog with inline text (#18757)
21 июл 2026, 04:20
Не верифицирован
21 июл 2026, 04:20
ffa2eac
Код
Авторство
О чём код?
<!-- Copyright (c) Files Community. Licensed under the MIT License. --> <local:BaseGroupableLayoutPage x:Class="Files.App.Views.Layouts.DetailsLayoutPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:behaviors="using:Files.App.Data.Behaviors" xmlns:controls="using:Files.App.Controls" xmlns:converters="using:Files.App.Converters" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:datamodels="using:Files.App.Data.Models" xmlns:ext="using:Files.App.Extensions" xmlns:filesystem="using:Files.App.Utils" xmlns:helpers="using:Files.App.Helpers" xmlns:i="using:Microsoft.Xaml.Interactivity" xmlns:local="using:Files.App.Views.Layouts" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:storage="using:Files.App.Utils.Storage" xmlns:toolkit="using:CommunityToolkit.WinUI.Controls" xmlns:uc="using:Files.App.UserControls" xmlns:wct="using:CommunityToolkit.WinUI" xmlns:wctconverters="using:CommunityToolkit.WinUI.Converters" xmlns:wctlabs="using:CommunityToolkit.Labs.WinUI" x:Name="PageRoot" NavigationCacheMode="Enabled" mc:Ignorable="d"> <i:Interaction.Behaviors> <i:EventTriggerBehavior EventName="PointerWheelChanged"> <i:InvokeCommandAction Command="{x:Bind CommandsViewModel.PointerWheelChangedCommand}" /> </i:EventTriggerBehavior> <i:EventTriggerBehavior EventName="PointerPressed"> <i:InvokeCommandAction Command="{x:Bind CommandsViewModel.ItemPointerPressedCommand}" /> </i:EventTriggerBehavior> </i:Interaction.Behaviors> <local:BaseGroupableLayoutPage.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="ms-appx:///Styles/DefaultGridSplitterStyle.xaml" /> </ResourceDictionary.MergedDictionaries> <wctconverters:BoolNegationConverter x:Key="BoolNegationConverter" /> <wctconverters:BoolToVisibilityConverter x:Key="NegatedBoolToVisibilityConverter" FalseValue="Visible" TrueValue="Collapsed" /> <wctconverters:EmptyObjectToObjectConverter x:Key="EmptyObjectToObjectConverter" EmptyValue="Collapsed" NotEmptyValue="Visible" /> <converters:StringToBrushConverter x:Key="StringToBrushConverter" /> <converters:BoolToSelectionModeConverter x:Key="BoolToSelectionModeConverter" /> <wctconverters:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" /> <Style x:Name="HeaderGridSplitterStyle" BasedOn="{StaticResource DefaultGridSplitterStyle}" TargetType="controls:GridSplitter"> <Setter Property="Background" Value="Transparent" /> <Setter Property="Width" Value="12" /> <Setter Property="Margin" Value="0" /> <Setter Property="Opacity" Value="0.8" /> <Setter Property="Canvas.ZIndex" Value="1" /> </Style> <Style TargetType="ListViewHeaderItem"> <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> <Setter Property="FontSize" Value="{ThemeResource GridViewHeaderItemThemeFontSize}" /> <Setter Property="Background" Value="{ThemeResource GridViewHeaderItemBackground}" /> <Setter Property="Margin" Value="0,0,0,4" /> <Setter Property="Padding" Value="12,8,12,0" /> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> <Setter Property="CornerRadius" Value="{ThemeResource ControlCornerRadius}" /> <Setter Property="VerticalContentAlignment" Value="Stretch" /> <Setter Property="MinHeight" Value="{ThemeResource GridViewHeaderItemMinHeight}" /> <Setter Property="UseSystemFocusVisuals" Value="{StaticResource UseSystemFocusVisuals}" /> <Setter Property="HorizontalAlignment" Value="Stretch" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ListViewHeaderItem"> <Grid x:Name="HeaderItemRootGrid" Margin="0,0,4,0" HorizontalAlignment="Stretch" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" PointerCanceled="StackPanel_PointerCanceled" PointerEntered="StackPanel_PointerEntered" PointerExited="StackPanel_PointerCanceled" PointerPressed="RootPanel_PointerPressed" PointerReleased="StackPanel_PointerCanceled"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <ContentPresenter x:Name="ContentPresenter" Grid.Column="0" Margin="{TemplateBinding Padding}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" /> <Rectangle Grid.Column="1" Height="1" Margin="0,20,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" Stroke="{ThemeResource GridViewHeaderItemDividerStroke}" StrokeThickness="0.5" /> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="Normal" /> <VisualState x:Name="PointerOver"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HeaderItemRootGrid" Storyboard.TargetProperty="Background"> <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonBackgroundPointerOver}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HeaderItemRootGrid" Storyboard.TargetProperty="BorderBrush"> <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonBorderBrushPointerOver}" /> </ObjectAnimationUsingKeyFrames> </Storyboard> <VisualState.Setters> <!--<Setter Target="ContentPresenter.(local:AnimatedIcon.State)" Value="PointerOver" />--> </VisualState.Setters> </VisualState> <VisualState x:Name="Pressed"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HeaderItemRootGrid" Storyboard.TargetProperty="Background"> <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonBackgroundPressed}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HeaderItemRootGrid" Storyboard.TargetProperty="BorderBrush"> <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonBorderBrushPressed}" /> </ObjectAnimationUsingKeyFrames> </Storyboard> <VisualState.Setters> <!--<Setter Target="ContentPresenter.(local:AnimatedIcon.State)" Value="Pressed" />--> </VisualState.Setters> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style TargetType="uc:DataGridHeader"> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> <Setter Property="Margin" Value="-4,0" /> </Style> <Style x:Key="ColumnContentTextBlock" BasedOn="{StaticResource App.Theme.CaptionTextBlockStyle}" TargetType="TextBlock"> <Setter Property="TextWrapping" Value="NoWrap" /> <Setter Property="TextTrimming" Value="CharacterEllipsis" /> <Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="HorizontalAlignment" Value="Stretch" /> <Setter Property="Opacity" Value="0.6" /> </Style> <Style x:Name="CompactItemContainerStyle" BasedOn="{StaticResource DefaultListViewItemStyle}" TargetType="ListViewItem"> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> <Setter Property="MinHeight" Value="1" /> <Setter Property="Margin" Value="-2" /> </Style> <Style x:Name="RegularItemContainerStyle" BasedOn="{StaticResource DefaultListViewItemStyle}" TargetType="ListViewItem"> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> <Setter Property="MinHeight" Value="1" /> <Setter Property="Margin" Value="0" /> </Style> </ResourceDictionary> </local:BaseGroupableLayoutPage.Resources> <Grid x:Name="RootGrid" ContextFlyout="{x:Bind BaseContextMenuFlyout}" SizeChanged="RootGrid_SizeChanged"> <!-- Empty Indicator --> <uc:FolderEmptyIndicator Grid.Row="3" Margin="0,125,0,0" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.ZIndex="0" EmptyTextType="{x:Bind ParentShellPageInstance.ShellViewModel.EmptyTextType, Mode=OneWay}" /> <!-- Location Unavailable Indicator --> <uc:LocationUnavailableIndicator Title="{x:Bind ParentShellPageInstance.ShellViewModel.LocationUnavailableTitle, Mode=OneWay}" Grid.Row="3" MaxWidth="400" Margin="24,125,24,0" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.ZIndex="0" Glyph="{x:Bind ParentShellPageInstance.ShellViewModel.LocationUnavailableGlyph, Mode=OneWay}" Message="{x:Bind ParentShellPageInstance.ShellViewModel.LocationUnavailableMessage, Mode=OneWay}" Visibility="{x:Bind ParentShellPageInstance.ShellViewModel.IsLocationUnavailable, Mode=OneWay}" /> <!-- Invalid Item Name Tip --> <TeachingTip x:Name="FileNameTeachingTip" CloseButtonContent="{helpers:ResourceString Name=OK}" PreferredPlacement="Auto" Subtitle="{helpers:ResourceString Name=FileNameTeachingTip/Subtitle}" Visibility="Collapsed" /> <!-- Semantic Zooming --> <SemanticZoom x:Name="RootGridZoom" CanChangeViews="{x:Bind CollectionViewSource.IsSourceGrouped, Mode=OneWay}" ViewChangeStarted="SemanticZoom_ViewChangeStarted" Visibility="{x:Bind FolderSettings.IsLayoutModeChanging, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}"> <!-- Main View --> <SemanticZoom.ZoomedInView> <ListView x:Name="FileList" Padding="8,0,8,12" HorizontalAlignment="Stretch" VerticalContentAlignment="Stretch" ext:ScrollViewerMiddleClickExtensions.EnableMiddleClickScrolling="{x:Bind IsMiddleClickToScrollEnabled, Mode=OneWay}" x:FieldModifier="public" AllowDrop="{x:Bind InstanceViewModel.IsPageTypeSearchResults, Converter={StaticResource BoolNegationConverter}, Mode=OneWay}" AutomationProperties.AccessibilityView="Raw" CanDragItems="{x:Bind AllowItemDrag, Mode=OneWay}" ContainerContentChanging="FileList_ContainerContentChanging" DoubleTapped="FileList_DoubleTapped" DragItemsCompleted="FileList_DragItemsCompleted" DragItemsStarting="FileList_DragItemsStarting" DragOver="ItemsLayout_DragOver" Drop="ItemsLayout_Drop" FocusVisualPrimaryThickness="0" FocusVisualSecondaryThickness="0" IsDoubleTapEnabled="True" IsTabStop="True" ItemContainerTransitions="{x:Null}" ItemsSource="{x:Bind CollectionViewSource.View, Mode=OneWay}" Loaded="FileList_Loaded" LosingFocus="FileList_LosingFocus" PreviewKeyDown="FileList_PreviewKeyDown" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollMode="Auto" SelectionChanged="FileList_SelectionChanged" SelectionMode="Extended" Tapped="FileList_ItemTapped" Visibility="{x:Bind FolderSettings.IsLayoutModeChanging, Converter={StaticResource NegatedBoolToVisibilityConverter}, Mode=OneWay}"> <!-- ListView Header --> <ListView.Header> <Grid x:Name="HeaderGrid" Height="40" Margin="-8,0,-8,0" Padding="24,0,0,0" BorderBrush="{ThemeResource DividerStrokeColorDefaultBrush}" BorderThickness="0,0,0,1" DoubleTapped="FileListHeader_DoubleTapped" PointerPressed="Grid_PointerPressed"> <!-- Header Grid MenuFlyout --> <Grid.ContextFlyout> <MenuFlyout> <!-- All Columns To Fit --> <MenuFlyoutItem x:Name="AllColumnsToFitMenuflyoutItem" Click="SizeAllColumnsToFit_Click" Text="{helpers:ResourceString Name=SizeAllColumnsToFit}" /> <!-- (Divider) --> <MenuFlyoutSeparator /> <!-- Git Columns --> <MenuFlyoutSubItem x:Name="GitColumnsVisibilityMenuFlyoutSubItem" Text="{helpers:ResourceString Name=Git}" Visibility="{x:Bind InstanceViewModel.IsGitRepository, Mode=OneWay}"> <!-- Git Unmerged File Kind --> <ToggleMenuFlyoutItem x:Name="GitStatusColumnVisibilityToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.GitStatusColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=GitStatus}" Visibility="{x:Bind ColumnsViewModel.GitStatusColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Git Last Commit Date --> <ToggleMenuFlyoutItem x:Name="GitCommitDateColumnToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.GitLastCommitDateColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=DateCommitted}" Visibility="{x:Bind ColumnsViewModel.GitLastCommitDateColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Git Last Commit Message --> <ToggleMenuFlyoutItem x:Name="GitCommititMessageColumnToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.GitLastCommitMessageColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=CommitMessage}" Visibility="{x:Bind ColumnsViewModel.GitLastCommitMessageColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Git Last Commit Author --> <ToggleMenuFlyoutItem x:Name="GitCommitAuthorColumnToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.GitCommitAuthorColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=Author}" Visibility="{x:Bind ColumnsViewModel.GitCommitAuthorColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Git Last Commit SHA --> <ToggleMenuFlyoutItem x:Name="GitCommitShaColumnToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.GitLastCommitShaColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=CommitSha}" Visibility="{x:Bind ColumnsViewModel.GitLastCommitShaColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> </MenuFlyoutSubItem> <!-- File Tag --> <ToggleMenuFlyoutItem x:Name="FileTagColumnVisibilityToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.TagColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=Tag}" Visibility="{x:Bind ColumnsViewModel.TagColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Item Path --> <ToggleMenuFlyoutItem x:Name="PathColumnVisibilityToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.PathColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=PathColumn}" Visibility="{x:Bind ColumnsViewModel.PathColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Item Original Path --> <ToggleMenuFlyoutItem x:Name="OriginalPathColumnVisibilityToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.OriginalPathColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=DetailsViewHeaderFlyout_ShowOriginalPath/Text}" Visibility="{x:Bind ColumnsViewModel.OriginalPathColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Item Date Deleted --> <ToggleMenuFlyoutItem x:Name="DateDeletedColumnVisibilityToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.DateDeletedColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=DetailsViewHeaderFlyout_ShowDateDeleted/Text}" Visibility="{x:Bind ColumnsViewModel.DateDeletedColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Item Date Modified --> <ToggleMenuFlyoutItem x:Name="DateModifiedColumnVisibilityToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.DateModifiedColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=DetailsViewHeaderFlyout_ShowDateModified/Text}" Visibility="{x:Bind ColumnsViewModel.DateModifiedColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Item Date Created --> <ToggleMenuFlyoutItem x:Name="DateCreatedColumnVisibilityToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.DateCreatedColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=DetailsViewHeaderFlyout_ShowDateCreated/Text}" Visibility="{x:Bind ColumnsViewModel.DateCreatedColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Item Type --> <ToggleMenuFlyoutItem x:Name="TypeColumnVisibilityToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.ItemTypeColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=DetailsViewHeaderFlyout_ShowItemType/Text}" Visibility="{x:Bind ColumnsViewModel.ItemTypeColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Item Size --> <ToggleMenuFlyoutItem x:Name="SizeColumnVisibilityToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.SizeColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=DetailsViewHeaderFlyout_ShowItemSize/Text}" Visibility="{x:Bind ColumnsViewModel.SizeColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- Cloud Sync Status --> <ToggleMenuFlyoutItem x:Name="CloudSyncStatusColumnVisibilityToggleMenuFlyoutItem" Click="ToggleMenuFlyoutItem_Click" IsChecked="{x:Bind ColumnsViewModel.StatusColumn.UserCollapsed, Mode=TwoWay, Converter={StaticResource BoolNegationConverter}}" Text="{helpers:ResourceString Name=DetailsViewHeaderFlyout_ShowSyncStatus/Text}" Visibility="{x:Bind ColumnsViewModel.StatusColumn.IsHidden, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <!-- (Divider) --> <MenuFlyoutSeparator /> <!-- Set Current Columns As Default --> <MenuFlyoutItem x:Name="SetCurrentColumnsAsDefaultMenuFlyoutItem" Click="SetDetailsColumnsAsDefault_Click" Text="{helpers:ResourceString Name=SetAsDefault}" /> </MenuFlyout> </Grid.ContextFlyout> <!-- Header Column Definitions --> <Grid.ColumnDefinitions> <!-- Item Icon --> <ColumnDefinition x:Name="Column2" Width="{x:Bind ColumnsViewModel.IconColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.IconColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Name --> <ColumnDefinition x:Name="Column3" Width="{x:Bind ColumnsViewModel.NameColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.NameColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Git Status --> <ColumnDefinition x:Name="GitStatusColumnDefinition" Width="{x:Bind ColumnsViewModel.GitStatusColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.GitStatusColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Git Last Commit Date --> <ColumnDefinition x:Name="GitLastCommitDateColumnDefinition" Width="{x:Bind ColumnsViewModel.GitLastCommitDateColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.GitLastCommitDateColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Git Last Commit Message --> <ColumnDefinition x:Name="GitLastCommitMessageColumnDefinition" Width="{x:Bind ColumnsViewModel.GitLastCommitMessageColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.GitLastCommitMessageColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Git Last Commit Author --> <ColumnDefinition x:Name="GitCommitAuthorColumnDefinition" Width="{x:Bind ColumnsViewModel.GitCommitAuthorColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.GitCommitAuthorColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Git Last Commit SHA --> <ColumnDefinition x:Name="GitLastCommitShaColumnDefinition" Width="{x:Bind ColumnsViewModel.GitLastCommitShaColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.GitLastCommitShaColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Tags --> <ColumnDefinition x:Name="Column4" Width="{x:Bind ColumnsViewModel.TagColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.TagColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Path --> <ColumnDefinition x:Name="Column5" Width="{x:Bind ColumnsViewModel.PathColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.PathColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Original Path --> <ColumnDefinition x:Name="Column6" Width="{x:Bind ColumnsViewModel.OriginalPathColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.OriginalPathColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Date Deleted --> <ColumnDefinition x:Name="Column7" Width="{x:Bind ColumnsViewModel.DateDeletedColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.DateDeletedColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Date Modified --> <ColumnDefinition x:Name="Column8" Width="{x:Bind ColumnsViewModel.DateModifiedColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.DateModifiedColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Date Created --> <ColumnDefinition x:Name="Column9" Width="{x:Bind ColumnsViewModel.DateCreatedColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.DateCreatedColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Type --> <ColumnDefinition x:Name="Column10" Width="{x:Bind ColumnsViewModel.ItemTypeColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.ItemTypeColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Size --> <ColumnDefinition x:Name="Column11" Width="{x:Bind ColumnsViewModel.SizeColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.SizeColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <!-- Item Sync Status --> <ColumnDefinition x:Name="Column12" Width="{x:Bind ColumnsViewModel.StatusColumn.Length, Mode=OneWay}" MaxWidth="{x:Bind ColumnsViewModel.StatusColumn.MaxLength, Mode=OneWay}" /> <!-- (Divider) --> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="0" /> </Grid.ColumnDefinitions> <!-- Select All Check Box --> <CheckBox x:Name="SelectAllCheckbox" Grid.Column="0" Width="20" Height="20" MinWidth="0" MinHeight="0" Margin="-4,14,0,0" Padding="0" HorizontalAlignment="Center" VerticalAlignment="Top" AutomationProperties.Name="{helpers:ResourceString Name=SelectAll}" Checked="SelectAllCheckbox_Checked" ToolTipService.ToolTip="{helpers:ResourceString Name=SelectAll}" Unchecked="SelectAllCheckbox_Unchecked" /> <!-- Item Name --> <uc:DataGridHeader x:Name="NameHeader" Grid.Column="2" Margin="4,0,-4,0" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="Name" Header="{helpers:ResourceString Name=Name}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="3" AutomationProperties.Name="NameColumnHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" /> <!-- Item Unmerged File Change Kind --> <uc:DataGridHeader x:Name="GitStatusHeader" Grid.Column="4" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="GitStatus" Header="{helpers:ResourceString Name=GitStatus}" Visibility="{x:Bind ColumnsViewModel.GitStatusColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="5" AutomationProperties.Name="GitStatusColumnHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.GitStatusColumn.Visibility, Mode=OneWay}" /> <!-- Item Last Commit Date --> <uc:DataGridHeader x:Name="GitLastCommitDateHeader" Grid.Column="6" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="ItemLastCommitDate" Header="{helpers:ResourceString Name=DateCommitted}" Visibility="{x:Bind ColumnsViewModel.GitLastCommitDateColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="7" AutomationProperties.Name="GitLastCommitDateHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.GitLastCommitDateColumn.Visibility, Mode=OneWay}" /> <!-- Item Last Commit Message --> <uc:DataGridHeader x:Name="GitLastCommitMessageHeader" Grid.Column="8" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="ItemLastCommitMessage" Header="{helpers:ResourceString Name=CommitMessage}" Visibility="{x:Bind ColumnsViewModel.GitLastCommitMessageColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="9" AutomationProperties.Name="GitLastCommitMessageHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.GitLastCommitMessageColumn.Visibility, Mode=OneWay}" /> <!-- Item Last Commit Author --> <uc:DataGridHeader x:Name="GitCommitAuthorHeader" Grid.Column="10" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="ItemLastCommitAuthor" Header="{helpers:ResourceString Name=Author}" Visibility="{x:Bind ColumnsViewModel.GitCommitAuthorColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="11" AutomationProperties.Name="GitCommitAuthorHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.GitCommitAuthorColumn.Visibility, Mode=OneWay}" /> <!-- Item Last Commit SHA --> <uc:DataGridHeader x:Name="GitLastCommitShaHeader" Grid.Column="12" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="ItemLastCommitSha" Header="{helpers:ResourceString Name=CommitSha}" Visibility="{x:Bind ColumnsViewModel.GitLastCommitShaColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="13" AutomationProperties.Name="GitLastCommitShaHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.GitLastCommitShaColumn.Visibility, Mode=OneWay}" /> <!-- Item Tags --> <uc:DataGridHeader x:Name="TagHeader" Grid.Column="14" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="FileTag" Header="{helpers:ResourceString Name=Tag}" Visibility="{x:Bind ColumnsViewModel.TagColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="15" AutomationProperties.Name="TagColumnHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.TagColumn.Visibility, Mode=OneWay}" /> <!-- Item Path --> <uc:DataGridHeader x:Name="PathHeader" Grid.Column="16" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="Path" Header="{helpers:ResourceString Name=Path}" Visibility="{x:Bind ColumnsViewModel.PathColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="17" AutomationProperties.Name="PathColumnHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.PathColumn.Visibility, Mode=OneWay}" /> <!-- Item Original Path --> <uc:DataGridHeader x:Name="OriginalPathHeader" Grid.Column="18" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="OriginalFolder" Header="{helpers:ResourceString Name=OriginalPath}" Visibility="{x:Bind ColumnsViewModel.OriginalPathColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="19" AutomationProperties.Name="OriginalPathColumnHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.OriginalPathColumn.Visibility, Mode=OneWay}" /> <!-- Item Deleted Date --> <uc:DataGridHeader x:Name="DateDeletedHeader" Grid.Column="20" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="DateDeleted" Header="{helpers:ResourceString Name=DateDeleted}" Visibility="{x:Bind ColumnsViewModel.DateDeletedColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="21" AutomationProperties.Name="DateDeletedColumnHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.DateDeletedColumn.Visibility, Mode=OneWay}" /> <!-- Item Modified Date --> <uc:DataGridHeader x:Name="DateModifiedHeader" Grid.Column="22" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="DateModified" Header="{helpers:ResourceString Name=DateModifiedLowerCase}" Visibility="{x:Bind ColumnsViewModel.DateModifiedColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="23" AutomationProperties.Name="DateModifiedColumnHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.DateModifiedColumn.Visibility, Mode=OneWay}" /> <!-- Item Created Date --> <uc:DataGridHeader x:Name="DateCreatedHeader" Grid.Column="24" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="DateCreated" Header="{helpers:ResourceString Name=DateCreated}" Visibility="{x:Bind ColumnsViewModel.DateCreatedColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="25" AutomationProperties.Name="DateCreatedColumnHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.DateCreatedColumn.Visibility, Mode=OneWay}" /> <!-- Item Type --> <uc:DataGridHeader x:Name="FileTypeHeader" Grid.Column="26" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="FileType" Header="{helpers:ResourceString Name=Type}" Visibility="{x:Bind ColumnsViewModel.ItemTypeColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="27" AutomationProperties.Name="ItemTypeColumnHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.ItemTypeColumn.Visibility, Mode=OneWay}" /> <!-- Item Size --> <uc:DataGridHeader x:Name="ItemSizeHeader" Grid.Column="28" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="Size" Header="{helpers:ResourceString Name=Size}" Visibility="{x:Bind ColumnsViewModel.SizeColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="29" AutomationProperties.Name="SizeColumnHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.SizeColumn.Visibility, Mode=OneWay}" /> <!-- Item Sync Status Badge --> <uc:DataGridHeader x:Name="SyncStatusHeader" Grid.Column="30" HorizontalAlignment="Stretch" HorizontalContentAlignment="Left" Command="{x:Bind UpdateSortOptionsCommand, Mode=OneWay}" CommandParameter="SyncStatus" Header="{helpers:ResourceString Name=Status}" Visibility="{x:Bind ColumnsViewModel.StatusColumn.Visibility, Mode=OneWay}" /> <!-- (Divider) --> <controls:GridSplitter Grid.Column="31" AutomationProperties.Name="StatusColumnHeaderGridSplitter" DoubleTapped="GridSplitter_DoubleTapped" Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.StatusColumn.Visibility, Mode=OneWay}" /> </Grid> </ListView.Header> <!-- Item Template --> <ListView.ItemTemplate> <DataTemplate x:DataType="filesystem:ListedItem"> <UserControl> <StackPanel Height="{Binding RowHeight, ElementName=PageRoot, Mode=OneWay}" HorizontalAlignment="Stretch" AutomationProperties.Name="{x:Bind Name, Mode=OneWay}" IsRightTapEnabled="True" Loaded="StackPanel_Loaded" Orientation="Horizontal"> <!-- Item Thumbnail --> <Grid Width="{Binding ColumnsViewModel.IconColumn.Length.Value, ElementName=PageRoot, Mode=OneWay}" HorizontalAlignment="Left" VerticalAlignment="Stretch"> <!-- Thumbnail --> <Grid x:Name="IconBox" Width="{Binding ColumnsViewModel.IconColumn.Length.Value, ElementName=PageRoot, Mode=OneWay}" Height="{Binding ColumnsViewModel.IconColumn.Length.Value, ElementName=PageRoot, Mode=OneWay}" HorizontalAlignment="Center" VerticalAlignment="Center" AutomationProperties.Name="{helpers:ResourceString Name=FileBrowserThumbnailIconColumnGrid/AutomationProperties/Name}" Opacity="{x:Bind Opacity, Mode=OneWay}" TabFocusNavigation="Local" Tag="ItemImage"> <ContentPresenter x:Name="PicturePresenter" Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" x:Load="{x:Bind LoadFileIcon, Mode=OneWay}" CornerRadius="{StaticResource DetailsLayoutThumbnailCornerRadius}"> <Image x:Name="Picture" Source="{x:Bind FileImage, Mode=OneWay}" Stretch="Uniform" /> </ContentPresenter> <!-- Loading indicator --> <wctlabs:Shimmer x:Name="TypeUnknownGlyph" Margin="2" x:Load="{x:Bind NeedsPlaceholderGlyph, Mode=OneWay}" /> <Image x:Name="IconOverlay" Width="16" Height="16" Margin="2" HorizontalAlignment="Left" VerticalAlignment="Bottom" x:Load="True" Source="{x:Bind IconOverlay, Mode=OneWay}" Stretch="Uniform" /> <Viewbox x:Name="ShortcutGlyphElement" Width="10" Height="10" HorizontalAlignment="Left" VerticalAlignment="Bottom" x:Load="{x:Bind IsShortcut}"> <controls:ThemedIcon Style="{StaticResource App.ThemedIcons.Shortcut}" /> </Viewbox> <Image x:Name="ShieldOverlay" Width="8" Height="8" HorizontalAlignment="Right" VerticalAlignment="Bottom" x:Load="{x:Bind IsElevationRequired}" Source="{x:Bind ShieldIcon, Mode=OneWay}" Stretch="Uniform" /> </Grid> <!-- Selection Check Box --> <CheckBox x:Name="SelectionCheckbox" Width="20" MinWidth="0" HorizontalAlignment="Center" AutomationProperties.AccessibilityView="Raw" Checked="ItemSelected_Checked" DoubleTapped="SelectionCheckbox_DoubleTapped" Opacity="0" Unchecked="ItemSelected_Unchecked" /> </Grid> <!-- Item Name --> <Grid Width="{Binding ColumnsViewModel.NameColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="12,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.ZIndex="6"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <TextBlock x:Name="ItemName" Padding="6,0,0,0" VerticalAlignment="Center" Opacity="{x:Bind Opacity, Mode=OneWay}" Text="{x:Bind Name, Mode=OneWay}" TextTrimming="CharacterEllipsis" /> <TextBox x:Name="ItemNameTextBox" MaxWidth="{Binding MaxWidthForRenameTextbox, ElementName=PageRoot, Mode=OneWay}" HorizontalAlignment="Left" VerticalAlignment="Center" BeforeTextChanging="ItemNameTextBox_BeforeTextChanging" Visibility="Collapsed"> <TextBox.Resources> <SolidColorBrush x:Key="TextControlBackgroundFocused" Color="{ThemeResource SolidBackgroundFillColorSecondary}" /> </TextBox.Resources> </TextBox> </Grid> <!-- Item Git Status --> <Border x:Name="ItemGitStatusTextBlock" Width="{Binding ColumnsViewModel.GitStatusColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" x:Load="{x:Bind IsGitItem}"> <controls:ThemedIcon Width="16" Height="16" HorizontalAlignment="Left" Style="{x:Bind AsGitItem.UnmergedGitStatusIcon, Mode=OneWay}" ToolTipService.ToolTip="{x:Bind AsGitItem.UnmergedGitStatusName, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.GitStatusColumn.Visibility, ElementName=PageRoot, Mode=OneWay}" /> </Border> <!-- Item Git Last Commit Date --> <TextBlock x:Name="ItemGitLastCommitDateTextBlock" Width="{Binding ColumnsViewModel.GitLastCommitDateColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" x:Load="{x:Bind IsGitItem}" DataContextChanged="TextBlock_DataContextChanged" IsTextTrimmedChanged="TextBlock_IsTextTrimmedChanged" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind AsGitItem.GitLastCommitDateHumanized, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.GitLastCommitDateColumn.Visibility, ElementName=PageRoot, Mode=OneWay}" /> <!-- Item Git Last Commit Message --> <TextBlock x:Name="ItemGitLastCommitMessageTextBlock" Width="{Binding ColumnsViewModel.GitLastCommitMessageColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" x:Load="{x:Bind IsGitItem}" DataContextChanged="TextBlock_DataContextChanged" IsTextTrimmedChanged="TextBlock_IsTextTrimmedChanged" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind AsGitItem.GitLastCommitMessage, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.GitLastCommitMessageColumn.Visibility, ElementName=PageRoot, Mode=OneWay}" /> <!-- Item Git Last Commit Author --> <TextBlock x:Name="ItemGitCommitAuthorTextBlock" Width="{Binding ColumnsViewModel.GitCommitAuthorColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" x:Load="{x:Bind IsGitItem}" DataContextChanged="TextBlock_DataContextChanged" IsTextTrimmedChanged="TextBlock_IsTextTrimmedChanged" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind AsGitItem.GitLastCommitAuthor, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.GitCommitAuthorColumn.Visibility, ElementName=PageRoot, Mode=OneWay}" /> <!-- Item Git Last Commit SHA --> <TextBlock x:Name="ItemGitLastCommitShaTextBlock" Width="{Binding ColumnsViewModel.GitLastCommitShaColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" x:Load="{x:Bind IsGitItem}" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind AsGitItem.GitLastCommitSha, Mode=OneWay}" ToolTipService.ToolTip="{x:Bind AsGitItem.GitLastCommitFullSha, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.GitLastCommitShaColumn.Visibility, ElementName=PageRoot, Mode=OneWay}" /> <!-- Tags That Item Is Labeled --> <Grid x:Name="ItemTagGrid" Width="{Binding ColumnsViewModel.TagColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="12,0,12,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" Visibility="{Binding ColumnsViewModel.TagColumn.Visibility, ElementName=PageRoot, Mode=OneWay}"> <ItemsRepeater x:Name="TagsRepeater" x:Load="{x:Bind HasTags, Mode=OneWay, FallbackValue=False}" ItemsSource="{x:Bind FileTagsUI, Mode=OneWay}" Visibility="{x:Bind FileTagsUI, Converter={StaticResource EmptyObjectToObjectConverter}, Mode=OneWay}"> <ItemsRepeater.Layout> <StackLayout Orientation="Horizontal" Spacing="4" /> </ItemsRepeater.Layout> <ItemsRepeater.ItemTemplate> <DataTemplate x:DataType="datamodels:TagViewModel"> <UserControl PointerEntered="FileTag_PointerEntered" PointerExited="FileTag_PointerExited"> <StackPanel x:Name="TagPill" Height="24" Padding="8,0" HorizontalAlignment="Left" x:Phase="2" CornerRadius="12" Orientation="Horizontal" Spacing="8" Tapped="TagItem_Tapped" ToolTipService.ToolTip="{x:Bind Name, Mode=OneWay}"> <!-- Tag icon --> <controls:ThemedIcon Width="16" Height="16" VerticalAlignment="Center" IconColorType="Custom" IsFilled="True" Style="{StaticResource App.ThemedIcons.Tag}" Color="{x:Bind Color, Mode=OneWay, Converter={StaticResource StringToBrushConverter}}" /> <!-- Tag name --> <TextBlock MaxWidth="200" VerticalAlignment="Center" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind Name, Mode=OneWay}" TextTrimming="CharacterEllipsis" /> <!-- Remove tag icon --> <FontIcon x:Name="RemoveTagIcon" VerticalAlignment="Center" FontSize="12" Glyph="" Tapped="RemoveTagIcon_Tapped" ToolTipService.ToolTip="{helpers:ResourceString Name=Remove}" Visibility="Collapsed" /> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="Normal" /> <VisualState x:Name="PointerOver"> <VisualState.Setters> <Setter Target="TagPill.Background" Value="{ThemeResource CardBackgroundFillColorDefault}" /> <Setter Target="RemoveTagIcon.Visibility" Value="Visible" /> </VisualState.Setters> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> </StackPanel> </UserControl> </DataTemplate> </ItemsRepeater.ItemTemplate> </ItemsRepeater> </Grid> <!-- Item Path --> <TextBlock x:Name="ItemPath" Width="{Binding ColumnsViewModel.PathColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" DataContextChanged="TextBlock_DataContextChanged" IsTextTrimmedChanged="TextBlock_IsTextTrimmedChanged" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind ItemPath, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.PathColumn.Visibility, ElementName=PageRoot, Mode=OneWay}" /> <!-- Item Original Path --> <TextBlock x:Name="ItemOriginalPath" Width="{Binding ColumnsViewModel.OriginalPathColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" x:Load="{x:Bind IsRecycleBinItem}" DataContextChanged="TextBlock_DataContextChanged" IsTextTrimmedChanged="TextBlock_IsTextTrimmedChanged" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind AsRecycleBinItem.ItemOriginalPath, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.OriginalPathColumn.Visibility, ElementName=PageRoot, Mode=OneWay}" /> <!-- Item Deleted Date --> <TextBlock x:Name="ItemDateDeleted" Width="{Binding ColumnsViewModel.DateDeletedColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" x:Load="{x:Bind IsRecycleBinItem}" DataContextChanged="TextBlock_DataContextChanged" IsTextTrimmedChanged="TextBlock_IsTextTrimmedChanged" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind AsRecycleBinItem.ItemDateDeleted, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.DateDeletedColumn.Visibility, ElementName=PageRoot, Mode=OneWay}" /> <!-- Item Modified Date --> <TextBlock x:Name="ItemDateModified" Width="{Binding ColumnsViewModel.DateModifiedColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" DataContextChanged="TextBlock_DataContextChanged" IsTextTrimmedChanged="TextBlock_IsTextTrimmedChanged" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind ItemDateModified, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.DateModifiedColumn.Visibility, ElementName=PageRoot, Mode=OneWay}" /> <!-- Item Created Date --> <TextBlock x:Name="ItemDateCreated" Width="{Binding ColumnsViewModel.DateCreatedColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" DataContextChanged="TextBlock_DataContextChanged" IsTextTrimmedChanged="TextBlock_IsTextTrimmedChanged" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind ItemDateCreated, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.DateCreatedColumn.Visibility, ElementName=PageRoot, Mode=OneWay}" /> <!-- Item Type --> <TextBlock x:Name="ItemType" Width="{Binding ColumnsViewModel.ItemTypeColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" DataContextChanged="TextBlock_DataContextChanged" IsTextTrimmedChanged="TextBlock_IsTextTrimmedChanged" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind ItemType, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.ItemTypeColumn.Visibility, ElementName=PageRoot, Mode=OneWay}" /> <!-- Item Size --> <Grid x:Name="ItemSize" Width="{Binding ColumnsViewModel.SizeColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" Visibility="{Binding ColumnsViewModel.SizeColumn.Visibility, ElementName=PageRoot, Mode=OneWay}"> <TextBlock DataContextChanged="TextBlock_DataContextChanged" IsTextTrimmedChanged="TextBlock_IsTextTrimmedChanged" Style="{StaticResource ColumnContentTextBlock}" Text="{x:Bind SizeText, Mode=OneWay}" Visibility="{x:Bind ShowViewSizeButton, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <HyperlinkButton Padding="0" HorizontalAlignment="Left" VerticalAlignment="Center" Click="ViewSizeButton_Click" Content="{helpers:ResourceString Name=ViewSize}" FontFamily="{ThemeResource ContentControlThemeFontFamily}" FontSize="{StaticResource CaptionTextBlockFontSize}" FontWeight="Normal" Visibility="{x:Bind ShowViewSizeButton, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" /> </Grid> <!-- Item Sync Status Badge --> <Border x:Name="ItemStatus" Width="{Binding ColumnsViewModel.StatusColumn.LengthIncludingGridSplitter.Value, ElementName=PageRoot, Mode=OneWay}" Padding="10,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center" AutomationProperties.Name="{x:Bind SyncStatusString, Mode=OneWay}" Background="Transparent" ToolTipService.ToolTip="{x:Bind SyncStatusUI.SyncStatusString, Mode=OneWay}" Visibility="{Binding ColumnsViewModel.StatusColumn.Visibility, ElementName=PageRoot, Mode=OneWay}"> <controls:ThemedIcon Width="16" Height="16" HorizontalAlignment="Left" Style="{x:Bind SyncStatusUI.ThemedIconStyle, Mode=OneWay}" /> </Border> <!-- Visual Status Managing --> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CheckboxVisibilityStates"> <VisualState x:Name="HideCheckbox" /> <VisualState x:Name="ShowCheckbox"> <VisualState.Setters> <Setter Target="SelectionCheckbox.Opacity" Value="1" /> <Setter Target="IconBox.Opacity" Value="0" /> </VisualState.Setters> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> </StackPanel> </UserControl> </DataTemplate> </ListView.ItemTemplate> <!-- ListView Sticky Header --> <i:Interaction.Behaviors> <behaviors:StickyHeaderBehavior /> </i:Interaction.Behaviors> <!-- ListView Control Styles --> <ListView.Resources> <ResourceDictionary> <Style TargetType="ListView"> <Setter Property="IsTabStop" Value="False" /> <Setter Property="TabNavigation" Value="Once" /> <Setter Property="IsSwipeEnabled" Value="True" /> <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" /> <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" /> <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Enabled" /> <Setter Property="ScrollViewer.IsHorizontalRailEnabled" Value="True" /> <Setter Property="ScrollViewer.VerticalScrollMode" Value="Enabled" /> <Setter Property="ScrollViewer.IsVerticalRailEnabled" Value="True" /> <Setter Property="ScrollViewer.ZoomMode" Value="Disabled" /> <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False" /> <Setter Property="ScrollViewer.BringIntoViewOnFocusChange" Value="True" /> <Setter Property="UseSystemFocusVisuals" Value="{StaticResource UseSystemFocusVisuals}" /> <Setter Property="ItemContainerTransitions"> <Setter.Value> <TransitionCollection> <AddDeleteThemeTransition /> </TransitionCollection> </Setter.Value> </Setter> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <ItemsStackPanel Orientation="Vertical" /> </ItemsPanelTemplate> </Setter.Value> </Setter> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ListView"> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}"> <ScrollViewer x:Name="ScrollViewer" HorizontalContentAlignment="Stretch" AutomationProperties.AccessibilityView="Raw" BringIntoViewOnFocusChange="{TemplateBinding ScrollViewer.BringIntoViewOnFocusChange}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsHorizontalScrollChainingEnabled="{TemplateBinding ScrollViewer.IsHorizontalScrollChainingEnabled}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" IsVerticalScrollChainingEnabled="{TemplateBinding ScrollViewer.IsVerticalScrollChainingEnabled}" TabNavigation="{TemplateBinding TabNavigation}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" ZoomMode="{TemplateBinding ScrollViewer.ZoomMode}"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <ItemsPresenter Margin="0,0,12,0" Padding="{TemplateBinding Padding}" HorizontalAlignment="Stretch" Footer="{TemplateBinding Footer}" FooterTemplate="{TemplateBinding FooterTemplate}" FooterTransitions="{TemplateBinding FooterTransitions}" Header="{TemplateBinding Header}" HeaderTemplate="{TemplateBinding HeaderTemplate}" HeaderTransitions="{TemplateBinding HeaderTransitions}" /> </Grid> </ScrollViewer> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> <ResourceDictionary.ThemeDictionaries> <ResourceDictionary x:Key="Default"> <SolidColorBrush x:Key="GridViewItemCheckBoxBrush" Color="{ThemeResource SystemChromeMediumLowColor}" /> </ResourceDictionary> </ResourceDictionary.ThemeDictionaries> </ResourceDictionary> </ListView.Resources> <!-- ListView Grouping Styles --> <ListView.GroupStyle> <GroupStyle> <GroupStyle.HeaderTemplate> <DataTemplate x:DataType="storage:IGroupedCollectionHeader"> <StackPanel Margin="0,0,0,4" VerticalAlignment="Bottom" AutomationProperties.Name="{x:Bind Model.Text}" Spacing="0"> <StackPanel Orientation="Horizontal" Spacing="4"> <TextBlock VerticalAlignment="Center" FontSize="16" Style="{StaticResource SubtitleTextBlockStyle}" Text="{x:Bind Model.Text, Mode=OneWay}" /> <TextBlock Margin="4,0,0,0" VerticalAlignment="Center" Style="{StaticResource App.Theme.BodyTextBlockStyle}" Text="{x:Bind Model.CountText, Mode=OneWay}" Visibility="{x:Bind Model.ShowCountTextBelow, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <TextBlock VerticalAlignment="Center" FontSize="14" Style="{StaticResource SubheaderTextBlockStyle}" Text="{x:Bind Model.Subtext, Mode=OneWay}" Visibility="{x:Bind Model.ShowCountTextBelow, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" /> </StackPanel> <TextBlock Margin="0,2,0,0" Style="{StaticResource App.Theme.BodyTextBlockStyle}" Text="{x:Bind Model.CountText, Mode=OneWay}" Visibility="{x:Bind Model.ShowCountTextBelow, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" /> </StackPanel> </DataTemplate> </GroupStyle.HeaderTemplate> </GroupStyle> </ListView.GroupStyle> <!-- ListView Item Displaying Style --> <ListView.ItemsPanel> <ItemsPanelTemplate> <ItemsStackPanel AreStickyGroupHeadersEnabled="False" Orientation="Vertical" /> </ItemsPanelTemplate> </ListView.ItemsPanel> </ListView> </SemanticZoom.ZoomedInView> <!-- Grouped View --> <SemanticZoom.ZoomedOutView> <ListView HorizontalAlignment="Stretch" ItemsSource="{x:Bind CollectionViewSource.View.CollectionGroups, Mode=OneWay}" SelectionMode="None"> <ListView.ItemContainerTransitions> <TransitionCollection> <ContentThemeTransition /> </TransitionCollection> </ListView.ItemContainerTransitions> <ListView.ItemTemplate> <DataTemplate x:DataType="ICollectionViewGroup"> <StackPanel Margin="0,4,0,4" HorizontalAlignment="Stretch" VerticalAlignment="Center" Orientation="Horizontal" Spacing="4"> <Image Height="36" Source="{x:Bind ((storage:IGroupedCollectionHeader)Group).Model.ImageSource, Mode=OneWay}" Stretch="Uniform" /> <FontIcon FontSize="32" Glyph="{x:Bind ((storage:IGroupedCollectionHeader)Group).Model.Icon, Mode=OneWay}" /> <StackPanel VerticalAlignment="Center" AutomationProperties.Name="{x:Bind ((storage:IGroupedCollectionHeader)Group).Model.Text, Mode=OneWay}" Orientation="Vertical"> <StackPanel Orientation="Horizontal" Spacing="4"> <TextBlock VerticalAlignment="Center" FontSize="16" Style="{StaticResource SubtitleTextBlockStyle}" Text="{x:Bind ((storage:IGroupedCollectionHeader)Group).Model.Text, Mode=OneWay}" /> <TextBlock Margin="4,0,0,0" VerticalAlignment="Center" Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}" Style="{StaticResource App.Theme.BodyTextBlockStyle}" Text="{x:Bind ((storage:IGroupedCollectionHeader)Group).Model.CountText, Mode=OneWay}" Visibility="{x:Bind ((storage:IGroupedCollectionHeader)Group).Model.ShowCountTextBelow, Mode=OneWay, Converter={StaticResource NegatedBoolToVisibilityConverter}}" /> <TextBlock VerticalAlignment="Center" FontSize="14" Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}" Style="{StaticResource SubheaderTextBlockStyle}" Text="{x:Bind ((storage:IGroupedCollectionHeader)Group).Model.Subtext, Mode=OneWay}" Visibility="{x:Bind ((storage:IGroupedCollectionHeader)Group).Model.ShowCountTextBelow, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" /> </StackPanel> <TextBlock Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}" Style="{StaticResource App.Theme.BodyTextBlockStyle}" Text="{x:Bind ((storage:IGroupedCollectionHeader)Group).Model.CountText, Mode=OneWay}" Visibility="{x:Bind ((storage:IGroupedCollectionHeader)Group).Model.ShowCountTextBelow, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" /> </StackPanel> </StackPanel> </DataTemplate> </ListView.ItemTemplate> <ListView.ItemContainerStyle> <Style BasedOn="{StaticResource DefaultListViewItemStyle}" TargetType="ListViewItem"> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> </Style> </ListView.ItemContainerStyle> </ListView> </SemanticZoom.ZoomedOutView> </SemanticZoom> <!-- Selector --> <Canvas HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <Rectangle Name="SelectionRectangle" Canvas.Left="0" Canvas.Top="0" Width="0" Height="0" Fill="{ThemeResource SystemAccentColor}" Opacity=".5" Stroke="{ThemeResource SystemAccentColorLight1}" StrokeThickness="1" /> </Canvas> </Grid> </local:BaseGroupableLayoutPage>