Базовая работа на Linux

This commit is contained in:
2026-06-04 19:24:08 +03:00
parent 72a5392a73
commit e07fc408eb
37 changed files with 1632 additions and 80 deletions

View File

@@ -0,0 +1,117 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:Sms.TaskTwo.ViewModels"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="Sms.TaskTwo.Avalonia.Views.MainWindow"
x:DataType="vm:MainWindowViewModel"
Title="{x:Static core:AppResources.WindowTitle}"
xmlns:core="using:Sms.TaskTwo.Core"
Width="960"
Height="600"
MinWidth="760"
MinHeight="480"
Background="#F5F5F5"
ExtendClientAreaToDecorationsHint="True"
ExtendClientAreaChromeHints="NoChrome"
SystemDecorations="None">
<Border CornerRadius="12"
Background="White"
BorderBrush="#C8C8C8"
BorderThickness="1"
Margin="8">
<Grid RowDefinitions="Auto,Auto,Auto,Auto,*">
<Grid Grid.Row="0"
ColumnDefinitions="*,Auto,Auto"
Background="#ECECEC"
Height="44">
<TextBlock Grid.Column="0"
Text="{x:Static core:AppResources.WindowTitle}"
VerticalAlignment="Center"
Margin="16,0,8,0"
FontSize="14" />
<Button Grid.Column="1"
Classes="titleButton"
Content=""
Click="OnMinimizeClick" />
<Button Grid.Column="2"
Classes="titleButton close"
Content="×"
Click="OnCloseClick" />
</Grid>
<CheckBox Grid.Row="1"
Margin="12,8,12,0"
Content="Отображать все переменные"
IsChecked="{Binding ShowAllVariables}" />
<Grid Grid.Row="2"
Margin="12,8,12,0"
ColumnDefinitions="Auto,2*,3*,Auto"
ColumnSpacing="8">
<TextBlock Grid.Column="0"
Text="Новая:"
VerticalAlignment="Center" />
<TextBox Grid.Column="1"
Watermark="Имя переменной"
Text="{Binding NewVariableName}" />
<TextBox Grid.Column="2"
Watermark="Значение"
Text="{Binding NewVariableValue}" />
<Button Grid.Column="3"
Content="Добавить"
Command="{Binding AddVariableCommand}"
MinWidth="100" />
</Grid>
<TextBlock Grid.Row="3"
Margin="12,4,12,0"
Foreground="#C62828"
Text="{Binding AddVariableError}"
IsVisible="{Binding AddVariableError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}" />
<DataGrid x:Name="VariablesGrid"
Grid.Row="4"
Margin="12,4,12,12"
ItemsSource="{Binding Rows}"
AutoGenerateColumns="False"
CanUserReorderColumns="False"
CanUserResizeColumns="True"
CanUserSortColumns="False"
GridLinesVisibility="All"
HeadersVisibility="Column"
BorderThickness="1"
BorderBrush="#B0B0B0"
LoadingRow="OnLoadingRow">
<DataGrid.Columns>
<DataGridTextColumn Header=""
Binding="{Binding UserStoreBadge}"
IsReadOnly="True"
Width="56" />
<DataGridTextColumn Header="Поле"
Binding="{Binding Field}"
IsReadOnly="True"
Width="2*" />
<DataGridTextColumn Header="Значение"
Binding="{Binding Value, Mode=TwoWay}"
Width="3*" />
<DataGridTextColumn Header="Комментарий"
Binding="{Binding Comment, Mode=TwoWay}"
Width="3*" />
<DataGridTemplateColumn Header=""
Width="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate x:DataType="vm:EnvironmentVariableRowViewModel">
<Button Content="Удалить"
Command="{Binding DeleteFromUserStoreCommand}"
Padding="6,2"
FontSize="11" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Border>
</Window>