140 lines
5.7 KiB
XML
140 lines
5.7 KiB
XML
<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>
|