<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
xmlns:local="clr-namespace:Tango.FileSystem">
<converters:ByteArrayToFileSizeConverter x:Key="ByteArrayToFileSizeConverter" />
<converters:DateTimeUtcToLocalDateTime x:Key="DateTimeUtcToLocalDateTime" />
<Style TargetType="{x:Type local:FileSystemDataGridRow}" BasedOn="{StaticResource {x:Type DataGridRow}}">
<Setter Property="DoubleClickCommand" Value="{Binding RelativeSource={RelativeSource AncestorType=local:FileExplorerControl},Path=ItemDoubleClickedCommand}"></Setter>
</Style>
<Style TargetType="{x:Type local:FileSystemDataGrid}" BasedOn="{StaticResource {x:Type DataGrid}}">
</Style>
<Style x:Key="FileSystemCellStyle" TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="VerticalContentAlignment" Value="Center"></Setter>
</Style>
<ContextMenu x:Key="ItemContextMenu">
<MenuItem Header="Copy"/>
<MenuItem Header="Paste"/>
<MenuItem Header="Delete"/>
<MenuItem Header="Select All"/>
</ContextMenu>
<Style TargetType="{x:Type local:FileExplorerControl}">
<Setter Property="DriveIcon" Value="pack://application:,,,/Tango.FileSystem;component/Images/drive.png"></Setter>
<Setter Property="FolderIcon" Value="pack://application:,,,/Tango.FileSystem;component/Images/folder.png"></Setter>
<Setter Property="Mode" Value="Details"></Setter>
<Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter>
<Setter Property="Focusable" Value="True"></Setter>
<Setter Property="AllowDrop" Value="True"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:FileExplorerControl}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Grid Background="Transparent">
<ListBox x:Name="PART_listbox" Background="Transparent" SelectionMode="Extended" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto" ItemsSource="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=CurrentItem.Items}" SelectedItem="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=SelectedItem,Mode=TwoWay}">
<ListBox.Style>
<Style TargetType="ListBox" BasedOn="{StaticResource {x:Type ListBox}}">
<Setter Property="Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=Mode}" Value="Large">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.Style>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
<Setter Property="Padding" Value="5"></Setter>
<Setter Property="Margin" Value="10"></Setter>
<Setter Property="ContextMenu" Value="{StaticResource ItemContextMenu}"></Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" IsItemsHost="True" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel Width="70" Height="115" Background="Transparent">
<DockPanel.InputBindings>
<MouseBinding MouseAction="LeftDoubleClick"
Command="{Binding RelativeSource={RelativeSource AncestorType=local:FileExplorerControl},Path=ItemDoubleClickedCommand}"
CommandParameter="{Binding}" />
</DockPanel.InputBindings>
<Image DockPanel.Dock="Top" RenderOptions.BitmapScalingMode="Fant" Stretch="Uniform" HorizontalAlignment="Center" VerticalAlignment="Top">
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<DataTrigger Binding="{Binding Type}" Value="Folder">
<Setter Property="Source" Value="{Binding RelativeSource={RelativeSource AncestorType=local:FileExplorerControl},Path=FolderIcon}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Type}" Value="Drive">
<Setter Property="Source" Value="{Binding RelativeSource={RelativeSource AncestorType=local:FileExplorerControl},Path=DriveIcon}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Type}" Value="File">
<Setter Property="Source" Value="{Binding Icon}"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" TextTrimming="CharacterEllipsis" HorizontalAlignment="Center" TextAlignment="Center" Margin="0 10 0 0"></TextBlock>
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Grid>
<Grid.Style>
<Style TargetType="Grid">
<Setter Property="Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=Mode}" Value="Details">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
<local:FileSystemDataGrid x:Name="PART_datagrid" ItemsSource="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=CurrentItem.Items}" CellStyle="{StaticResource FileSystemCellStyle}">
<DataGrid.Style>
<Style TargetType="DataGrid" BasedOn="{StaticResource {x:Type DataGrid}}">
<Setter Property="Background" Value="Transparent"></Setter>
<Setter Property="AutoGenerateColumns" Value="False"></Setter>
<Setter Property="CanUserAddRows" Value="False"></Setter>
<Setter Property="CanUserDeleteRows" Value="False"></Setter>
<Setter Property="CanUserReorderColumns" Value="False"></Setter>
<Setter Property="CanUserResizeColumns" Value="True"></Setter>
<Setter Property="CanUserResizeRows" Value="False"></Setter>
<Setter Property="CanUserSortColumns" Value="True"></Setter>
<Setter Property="IsReadOnly" Value="True"></Setter>
<Setter Property="SelectionMode" Value="Extended"></Setter>
<Setter Property="SelectionUnit" Value="FullRow"></Setter>
<Setter Property="RowHeight" Value="22"></Setter>
<Setter Property="HorizontalGridLinesBrush" Value="Transparent"></Setter>
<Setter Property="VerticalGridLinesBrush" Value="Transparent"></Setter>
<Setter Property="HorizontalScrollBarVisibility" Value="Disabled"></Setter>
<Setter Property="CellStyle" Value="{StaticResource FileSystemCellStyle}" />
</Style>
</DataGrid.Style>
<DataGrid.Columns>
<DataGridTemplateColumn Header="Name" Width="300*" SortMemberPath="Name">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DockPanel Background="Transparent">
<Image Width="18" Height="18" RenderOptions.BitmapScalingMode="Fant" Stretch="Uniform" HorizontalAlignment="Center" VerticalAlignment="Center">
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<DataTrigger Binding="{Binding Type}" Value="Drive">
<Setter Property="Source" Value="{Binding RelativeSource={RelativeSource AncestorType=local:FileExplorerControl},Path=DriveIcon}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Type}" Value="File">
<Setter Property="Source" Value="{Binding SmallIcon}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Type}" Value="Folder">
<Setter Property="Source" Value="{Binding RelativeSource={RelativeSource AncestorType=local:FileExplorerControl},Path=FolderIcon}"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
<TextBlock Text="{Binding Name}" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" Margin="5 0 0 0"></TextBlock>
</DockPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Date Modified" Width="170*" SortMemberPath="DateModified">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DockPanel Background="Transparent">
<TextBlock Text="{Binding DateModified,Converter={StaticResource DateTimeUtcToLocalDateTime}}" VerticalAlignment="Center"></TextBlock>
</DockPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Type" Width="140*" SortMemberPath="Type">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DockPanel Background="Transparent">
<TextBlock Text="{Binding Description}" VerticalAlignment="Center"></TextBlock>
</DockPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Size" Width="100*" SortMemberPath="Size">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DockPanel Background="Transparent">
<TextBlock Text="{Binding Size,Converter={StaticResource ByteArrayToFileSizeConverter}}" VerticalAlignment="Center">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Hidden"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding Type}" Value="File">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DockPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</local:FileSystemDataGrid>
</Grid>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>