Files
sms-task-two/src/Sms.TaskTwo.Avalonia/Views/MainWindow.axaml

140 lines
5.7 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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>
<Grid Grid.Row="1"
Margin="12,8,12,0"
ColumnDefinitions="*,Auto,Auto"
ColumnSpacing="8">
<CheckBox Content="Отображать все переменные"
IsChecked="{Binding ShowAllVariables}"
VerticalAlignment="Center" />
<Button Grid.Column="1"
Content="Обновить"
Command="{Binding RefreshCommand}"
MinWidth="100" />
<Button Grid.Column="2"
Content="Применить к сессии"
Command="{Binding ReloadEnvironmentCommand}"
MinWidth="140" />
</Grid>
<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>
<StackPanel Grid.Row="3"
Margin="12,4,12,0"
Spacing="2">
<TextBlock Foreground="#C62828"
Text="{Binding AddVariableError}"
IsVisible="{Binding AddVariableError, Converter={x:Static StringConverters.IsNotNullOrEmpty}}" />
<TextBlock Foreground="#2E7D32"
Text="{Binding ReloadEnvironmentMessage}"
TextWrapping="Wrap"
IsVisible="{Binding ReloadEnvironmentMessage, Converter={x:Static StringConverters.IsNotNullOrEmpty}}" />
</StackPanel>
<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>
<DataGridTemplateColumn Header=""
Width="44">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate x:DataType="vm:EnvironmentVariableRowViewModel">
<CheckBox IsChecked="{Binding UseUserStore, Mode=TwoWay}"
IsEnabled="{Binding CanChangeUserStore}"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Поле"
Binding="{Binding Field}"
IsReadOnly="True"
Width="210"
MinWidth="150" />
<DataGridTextColumn Header="Требуемое значение"
Binding="{Binding RequiredValue, Mode=TwoWay}"
Width="2*"
MinWidth="140" />
<DataGridTextColumn Header="Актуальное значение"
Binding="{Binding ActualValueDisplay}"
IsReadOnly="True"
Width="2*"
MinWidth="140" />
<DataGridTextColumn Header="Комментарий"
Binding="{Binding Comment, Mode=TwoWay}"
Width="240"
MinWidth="180" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Border>
</Window>