108 lines
5.1 KiB
XML
108 lines
5.1 KiB
XML
<UserControl
|
|
Background="{Binding ViewMode.Value, Converter={StaticResource ItemViewModeToBackgroundConverter}}"
|
|
HorizontalAlignment="Stretch"
|
|
HorizontalContentAlignment="Stretch"
|
|
d:DesignHeight="450"
|
|
d:DesignWidth="800"
|
|
mc:Ignorable="d"
|
|
x:Class="FileTime.GuiApp.Views.ItemView"
|
|
x:CompileBindings="True"
|
|
x:DataType="appcore:IItemViewModel"
|
|
x:Name="ItemRoot"
|
|
xmlns="https://github.com/avaloniaui"
|
|
xmlns:appcore="using:FileTime.App.Core.ViewModels"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:guiappvm="using:FileTime.GuiApp.ViewModels"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:traits="clr-namespace:FileTime.App.Core.Models.Traits;assembly=FileTime.App.Core.Abstraction"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
|
<Grid
|
|
ColumnDefinitions="20,*,Auto"
|
|
Margin="3"
|
|
x:Name="RootGrid">
|
|
<Grid.Styles>
|
|
<Style Selector="TextBlock">
|
|
<Setter Property="Foreground" Value="{Binding DataContext.ViewMode.Value, Converter={StaticResource ItemViewModeToForegroundConverter}, ElementName=ItemRoot}" x:CompileBindings="False" />
|
|
</Style>
|
|
</Grid.Styles>
|
|
<Image
|
|
Height="18"
|
|
HorizontalAlignment="Left"
|
|
Source="{Binding Converter={StaticResource ItemToImageConverter}}"
|
|
VerticalAlignment="Center"
|
|
Width="18" />
|
|
|
|
<ItemsControl
|
|
Grid.Column="1"
|
|
HorizontalAlignment="Stretch"
|
|
Margin="5,0,0,0"
|
|
VerticalAlignment="Center">
|
|
<ItemsControl.ItemsSource>
|
|
<MultiBinding Converter="{StaticResource NamePartShrinkerConverter}">
|
|
<MultiBinding.Bindings>
|
|
<Binding Path="DisplayName^" />
|
|
<Binding ElementName="RootGrid" Path="Bounds.Width" />
|
|
<Binding ElementName="ItemRoot" Path="ShowAttributes" />
|
|
</MultiBinding.Bindings>
|
|
</MultiBinding>
|
|
</ItemsControl.ItemsSource>
|
|
<ItemsControl.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<StackPanel Orientation="Horizontal" />
|
|
</ItemsPanelTemplate>
|
|
</ItemsControl.ItemsPanel>
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate x:DataType="guiappvm:ItemNamePartViewModel">
|
|
<Grid>
|
|
<TextBlock Text="{Binding Text}" TextDecorations="{Binding TextDecorations}" />
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
|
|
<Grid Grid.Column="2" IsVisible="{Binding ShowAttributes, ElementName=ItemRoot}">
|
|
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
|
|
<TextBlock
|
|
Classes="SmallText"
|
|
IsVisible="{Binding Converter={StaticResource IsTypeConverter}, ConverterParameter={x:Type appcore:IElementViewModel}}"
|
|
Text="{Binding BaseItem.DisplayName, Converter={StaticResource GetFileExtensionConverter}}"
|
|
Width="50" />
|
|
<Grid DataContext="{Binding BaseItem}" IsVisible="{Binding Converter={StaticResource IsTypeConverter}, ConverterParameter={x:Type traits:ISizeProvider}}">
|
|
<TextBlock
|
|
Classes="SmallText"
|
|
Text="{Binding Size.Value, Converter={StaticResource FormatSizeConverter}}"
|
|
TextAlignment="Right"
|
|
Width="60"
|
|
x:DataType="traits:ISizeProvider" />
|
|
</Grid>
|
|
<Grid IsVisible="{Binding BaseItem, Converter={StaticResource IsNotTypeConverter}, ConverterParameter={x:Type traits:ISizeProvider}}">
|
|
|
|
<TextBlock
|
|
Classes="SmallText"
|
|
IsVisible="{Binding Converter={StaticResource IsTypeConverter}, ConverterParameter={x:Type traits:ISizeProvider}}"
|
|
Text="{Binding Size.Value, Converter={StaticResource FormatSizeConverter}}"
|
|
TextAlignment="Right"
|
|
Width="60"
|
|
x:DataType="traits:ISizeProvider" />
|
|
</Grid>
|
|
<TextBlock
|
|
Classes="SmallText"
|
|
Text="{Binding ModifiedAt, Converter={StaticResource DateTimeConverter}, ConverterParameter=yyyy-MM-dd}"
|
|
TextAlignment="Right"
|
|
Width="95" />
|
|
<TextBlock
|
|
Classes="SmallText"
|
|
Text="{Binding ModifiedAt, Converter={StaticResource DateTimeConverter}, ConverterParameter=hh:mm}"
|
|
TextAlignment="Right"
|
|
Width="35" />
|
|
<TextBlock
|
|
Classes="SmallText"
|
|
Text="{Binding BaseItem.Attributes}"
|
|
TextAlignment="Right"
|
|
Width="45" />
|
|
|
|
</StackPanel>
|
|
|
|
</Grid>
|
|
</Grid>
|
|
</UserControl> |