Загрузка данных
jdjdjd
<Window x:Class="MaterialExplorer.MainWindow"
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:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
mc:Ignorable="d"
Title="Material Explorer"
Height="700"
Width="1100"
MinHeight="500"
MinWidth="800"
WindowStartupLocation="CenterScreen"
Background="{DynamicResource MaterialDesign.Brush.Background}"
TextElement.Foreground="{DynamicResource MaterialDesign.Brush.Foreground}"
TextElement.FontWeight="Regular"
TextElement.FontSize="14"
FontFamily="{materialDesign:MaterialDesignFont}"
Style="{StaticResource MaterialDesignWindow}">
<Window.Resources>
<!-- Стиль кнопок бокового меню -->
<Style x:Key="SideMenuButton" TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatButton}">
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="Padding" Value="16,10"/>
<Setter Property="Margin" Value="4,2"/>
<Setter Property="Height" Value="40"/>
<Setter Property="Foreground" Value="{DynamicResource MaterialDesign.Brush.Foreground}"/>
</Style>
<!-- Стиль заголовков разделов бокового меню -->
<Style x:Key="SideMenuHeader" TargetType="TextBlock">
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Opacity" Value="0.7"/>
<Setter Property="Margin" Value="16,16,16,6"/>
<Setter Property="Foreground" Value="{DynamicResource MaterialDesign.Brush.Foreground}"/>
</Style>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<!-- Верхняя панель навигации -->
<RowDefinition Height="Auto"/>
<!-- Основное содержимое -->
<RowDefinition Height="*"/>
<!-- Статусная строка -->
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- ========== ВЕРХНЯЯ ПАНЕЛЬ ========== -->
<Border Grid.Row="0"
Background="{DynamicResource MaterialDesign.Brush.Card.Background}"
BorderBrush="{DynamicResource MaterialDesign.Brush.Divider}"
BorderThickness="0,0,0,1"
Padding="8,6">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<!-- Кнопки навигации -->
<StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center">
<Button x:Name="BtnBack"
Style="{StaticResource MaterialDesignIconButton}"
ToolTip="Назад"
Margin="2,0"
IsEnabled="False">
<materialDesign:PackIcon Kind="ArrowLeft" Width="22" Height="22"/>
</Button>
<Button x:Name="BtnForward"
Style="{StaticResource MaterialDesignIconButton}"
ToolTip="Вперёд"
Margin="2,0"
IsEnabled="False">
<materialDesign:PackIcon Kind="ArrowRight" Width="22" Height="22"/>
</Button>
<Button x:Name="BtnUp"
Style="{StaticResource MaterialDesignIconButton}"
ToolTip="Вверх"
Margin="2,0">
<materialDesign:PackIcon Kind="ArrowUp" Width="22" Height="22"/>
</Button>
<Button x:Name="BtnRefresh"
Style="{StaticResource MaterialDesignIconButton}"
ToolTip="Обновить"
Margin="2,0">
<materialDesign:PackIcon Kind="Refresh" Width="22" Height="22"/>
</Button>
</StackPanel>
<!-- Адресная строка -->
<TextBox x:Name="TxtAddress"
Grid.Column="1"
Margin="12,0,12,0"
VerticalAlignment="Center"
materialDesign:HintAssist.Hint="Путь..."
materialDesign:TextFieldAssist.HasClearButton="True"
Style="{StaticResource MaterialDesignOutlinedTextBox}"
FontSize="13"
Height="36"
Text="C:\Users"/>
<!-- Поиск -->
<StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center">
<TextBox x:Name="TxtSearch"
Width="200"
VerticalAlignment="Center"
materialDesign:HintAssist.Hint="Поиск..."
materialDesign:TextFieldAssist.HasClearButton="True"
Style="{StaticResource MaterialDesignOutlinedTextBox}"
FontSize="13"
Height="36"
Margin="0,0,4,0"/>
<Button x:Name="BtnSearch"
Style="{StaticResource MaterialDesignIconButton}"
ToolTip="Поиск">
<materialDesign:PackIcon Kind="Magnify" Width="22" Height="22"/>
</Button>
</StackPanel>
</Grid>
</Border>
<!-- ========== ОСНОВНОЕ СОДЕРЖИМОЕ ========== -->
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<!-- Боковая панель -->
<ColumnDefinition Width="240" MinWidth="180"/>
<ColumnDefinition Width="Auto"/>
<!-- Список файлов -->
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- ========== БОКОВАЯ ПАНЕЛЬ ========== -->
<Border Grid.Column="0"
Background="{DynamicResource MaterialDesign.Brush.Card.Background}"
BorderBrush="{DynamicResource MaterialDesign.Brush.Divider}"
BorderThickness="0,0,1,0">
<ScrollViewer VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled">
<StackPanel Margin="0,8,0,16">
<!-- Раздел: Быстрый доступ -->
<TextBlock Text="БЫСТРЫЙ ДОСТУП" Style="{StaticResource SideMenuHeader}"/>
<Button x:Name="BtnDesktop" Style="{StaticResource SideMenuButton}">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="DesktopClassic" Width="20" Height="20" Margin="0,0,12,0"/>
<TextBlock Text="Рабочий стол" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button x:Name="BtnDocuments" Style="{StaticResource SideMenuButton}">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="FileDocument" Width="20" Height="20" Margin="0,0,12,0"/>
<TextBlock Text="Документы" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button x:Name="BtnDownloads" Style="{StaticResource SideMenuButton}">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="Download" Width="20" Height="20" Margin="0,0,12,0"/>
<TextBlock Text="Загрузки" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button x:Name="BtnPictures" Style="{StaticResource SideMenuButton}">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="Image" Width="20" Height="20" Margin="0,0,12,0"/>
<TextBlock Text="Изображения" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button x:Name="BtnMusic" Style="{StaticResource SideMenuButton}">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="Music" Width="20" Height="20" Margin="0,0,12,0"/>
<TextBlock Text="Музыка" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<!-- Раздел: Действия -->
<TextBlock Text="ДЕЙСТВИЯ" Style="{StaticResource SideMenuHeader}" Margin="16,24,16,6"/>
<Button x:Name="BtnNewFolder" Style="{StaticResource SideMenuButton}">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="FolderPlus" Width="20" Height="20" Margin="0,0,12,0"
Foreground="{DynamicResource MaterialDesign.Brush.Primary}"/>
<TextBlock Text="Новая папка" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button x:Name="BtnDelete" Style="{StaticResource SideMenuButton}">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="Delete" Width="20" Height="20" Margin="0,0,12,0"
Foreground="#EF5350"/>
<TextBlock Text="Удалить" VerticalAlignment="Center"/>
</StackPanel>
</Button>
</StackPanel>
</ScrollViewer>
</Border>
<!-- Разделитель -->
<GridSplitter Grid.Column="1"
Width="4"
HorizontalAlignment="Center"
VerticalAlignment="Stretch"
Background="Transparent"
ShowsPreview="True"/>
<!-- ========== СПИСОК ФАЙЛОВ ========== -->
<Grid Grid.Column="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- Заголовок текущего пути -->
<Border Grid.Row="0"
Padding="16,10"
Background="{DynamicResource MaterialDesign.Brush.Background}">
<TextBlock x:Name="TxtCurrentPath"
Text="Файлы и папки"
FontSize="16"
FontWeight="Medium"
VerticalAlignment="Center"/>
</Border>
<!-- ListView с колонками -->
<ListView x:Name="LvFiles"
Grid.Row="1"
Margin="8,0,8,8"
Background="Transparent"
BorderThickness="0"
AlternationCount="2"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
materialDesign:ListViewAssist.ListViewItemPadding="12,8">
<ListView.View>
<GridView>
<!-- Имя -->
<GridViewColumn Header="Имя" Width="320">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="{Binding Icon}"
Width="20" Height="20"
Margin="0,0,10,0"
VerticalAlignment="Center"
Foreground="{DynamicResource MaterialDesign.Brush.Primary}"/>
<TextBlock Text="{Binding Name}"
VerticalAlignment="Center"
TextTrimming="CharacterEllipsis"/>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<!-- Тип -->
<GridViewColumn Header="Тип" Width="140"
DisplayMemberBinding="{Binding Type}"/>
<!-- Размер -->
<GridViewColumn Header="Размер" Width="110"
DisplayMemberBinding="{Binding Size}"/>
<!-- Дата изменения -->
<GridViewColumn Header="Дата изменения" Width="160"
DisplayMemberBinding="{Binding Date}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Grid>
<!-- ========== СТАТУСНАЯ СТРОКА ========== -->
<Border Grid.Row="2"
Background="{DynamicResource MaterialDesign.Brush.Card.Background}"
BorderBrush="{DynamicResource MaterialDesign.Brush.Divider}"
BorderThickness="0,1,0,0"
Padding="12,6">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="TxtStatus"
Text="Готово"
VerticalAlignment="Center"
Opacity="0.8"
FontSize="12"/>
<TextBlock Grid.Column="1"
x:Name="TxtItemsCount"
Text="0 элементов"
VerticalAlignment="Center"
Opacity="0.8"
FontSize="12"/>
</Grid>
</Border>
</Grid>
</Window>
<Application x:Class="MaterialExplorer.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<materialDesign:BundledTheme BaseTheme="Dark"
PrimaryColor="DeepPurple"
SecondaryColor="Amber" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesign3.Defaults.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
djdjjd