Загрузка данных


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