/
dOJer113
/
Insect
Обзор
Документация
Войти
/
dOJer113
/
Insect
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
server
UI/Views/MainWindow.axaml
171 строка
6 KB
aleks
Lab 6
14 дек 2025, 19:25
14 дек 2025, 19:25
2ed295a
Код
Авторство
О чём код?
<Window x:Class="UI.Views.MainWindow" xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:data="clr-namespace:Avalonia.Controls;assembly=Avalonia.Controls.DataGrid" xmlns:vm="clr-namespace:UI.ViewModels" Title="Насекомые" Width="1200" Height="650" MinWidth="1100" MinHeight="550" x:DataType="vm:MainWindowViewModel" x:CompileBindings="False"> <DockPanel Margin="12"> <StackPanel DockPanel.Dock="Top" Spacing="8"> <DockPanel> <StackPanel Orientation="Horizontal" Spacing="6"> <Button Command="{Binding AddLadybugCommand}" Content="Божья коровка" /> <Button Command="{Binding AddNecrophagesCommand}" Content="Некрофаг" /> <Button Command="{Binding EditCommand}" Content="Изменить" IsEnabled="{Binding CanEditOrDelete}" /> <Button Command="{Binding DeleteCommand}" Content="Удалить" IsEnabled="{Binding CanEditOrDelete}" /> </StackPanel> <Button Command="{Binding RefreshCommand}" Content="Обновить с сервера" HorizontalAlignment="Right" DockPanel.Dock="Right" /> </DockPanel> <Border CornerRadius="6" BorderThickness="1" BorderBrush="{DynamicResource ThemeBorderLowBrush}" Padding="8"> <StackPanel Spacing="6"> <TextBlock Text="{Binding FilterSummary}" /> <Grid ColumnDefinitions="220,220,160,160,160" RowDefinitions="Auto" Margin="0,4,0,0"> <TextBox Grid.Column="0" Watermark="Поиск по названию" Text="{Binding NameFilter, UpdateSourceTrigger=PropertyChanged}" /> <TextBox Grid.Column="1" Margin="8,0,0,0" Watermark="Фильтр ротового аппарата" Text="{Binding MouthpieceFilter, UpdateSourceTrigger=PropertyChanged}" /> <NumericUpDown Grid.Column="2" Margin="8,0,0,0" Minimum="0" Maximum="1000000" Increment="1" Watermark="ID от" Value="{Binding MinId, Mode=TwoWay}" /> <NumericUpDown Grid.Column="3" Margin="8,0,0,0" Minimum="0" Maximum="1000000" Increment="1" Watermark="ID до" Value="{Binding MaxId, Mode=TwoWay}" /> <StackPanel Grid.Column="4" Margin="12,0,0,0" Orientation="Horizontal" Spacing="6" HorizontalAlignment="Right"> <Button Width="100" Content="Применить" Command="{Binding ApplyFiltersCommand}" /> <Button Width="100" Content="Сбросить" Command="{Binding ResetFiltersCommand}" /> </StackPanel> </Grid> </StackPanel> </Border> </StackPanel> <Border DockPanel.Dock="Bottom" Margin="0,8,0,0" Padding="8" Background="{DynamicResource ThemeControlMidBrush}" BorderBrush="{DynamicResource ThemeBorderMidBrush}" BorderThickness="1"> <StackPanel Orientation="Horizontal" Spacing="8"> <TextBlock Text="Статус:" FontWeight="Bold" /> <TextBlock Text="{Binding Status}" /> </StackPanel> </Border> <DataGrid AutoGenerateColumns="False" CanUserResizeColumns="True" CanUserSortColumns="True" GridLinesVisibility="Horizontal" HeadersVisibility="Column" IsReadOnly="True" ItemsSource="{Binding FilteredInsects}" RowHeight="32" SelectedItem="{Binding SelectedInsect, Mode=TwoWay}"> <DataGrid.Columns> <data:DataGridTextColumn Width="Auto" MinWidth="70" Binding="{Binding Id}" Header="ID" /> <data:DataGridTextColumn Width="*" MinWidth="140" Binding="{Binding Name}" Header="Название" /> <data:DataGridCheckBoxColumn Width="Auto" MinWidth="100" Binding="{Binding HasWings}" Header="Крылья" /> <data:DataGridTextColumn Width="Auto" MinWidth="150" Binding="{Binding MouthpieceType}" Header="Ротовой аппарат" /> <data:DataGridTextColumn Width="Auto" MinWidth="120" Binding="{Binding BodySize}" Header="Размер" /> <data:DataGridTextColumn Width="Auto" MinWidth="150" Binding="{Binding InsectTypeName}" Header="Тип" /> <data:DataGridTextColumn Width="Auto" MinWidth="120" Binding="{Binding MandibleSize}" Header="Жвалы" /> <data:DataGridTextColumn Width="Auto" MinWidth="120" Binding="{Binding NumberOfSpots}" Header="Пятна" /> <data:DataGridTextColumn Width="Auto" MinWidth="120" Binding="{Binding StageOfSuccession}" Header="Сукцессия" /> </DataGrid.Columns> <DataGrid.ContextMenu> <ContextMenu> <MenuItem Header="Добавить"> <MenuItem Command="{Binding AddLadybugCommand}" Header="Божья коровка" /> <MenuItem Command="{Binding AddNecrophagesCommand}" Header="Некрофаг" /> </MenuItem> <MenuItem Command="{Binding EditCommand}" Header="Изменить" IsEnabled="{Binding CanEditOrDelete}" /> <MenuItem Command="{Binding DeleteCommand}" Header="Удалить" IsEnabled="{Binding CanEditOrDelete}" /> <MenuItem Command="{Binding RefreshCommand}" Header="Обновить с сервера" /> </ContextMenu> </DataGrid.ContextMenu> </DataGrid> </DockPanel> </Window>