feat: AmineContent View and ViewModel base

This commit is contained in:
2026-04-13 12:11:53 +03:00
parent 208e1ccd18
commit 9e7aadc538
10 changed files with 240 additions and 2 deletions
+103
View File
@@ -0,0 +1,103 @@
<UserControl
x:Class="GSS2.Views.AmineContentView"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:GSS2.ViewModels"
xmlns:core="using:GSS2.UI.Core"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
x:DataType="vm:AmineContentViewModel">
<UserControl.Resources>
<SolidColorBrush x:Key="MainBackground" Color="#001e46" />
<SolidColorBrush x:Key="ButtonBackground" Color="#0865b2" />
<SolidColorBrush x:Key="ButtonForeground" Color="#ffffff" />
</UserControl.Resources>
<UserControl.Styles>
<Style Selector="Button">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Background" Value="{StaticResource ButtonBackground}" />
<Setter Property="Foreground" Value="{StaticResource ButtonForeground}" />
</Style>
<Style Selector="Button.menu">
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalAlignment" Value="Stretch" />
</Style>
<Style Selector="TextBlock.menu-text">
<Setter Property="FontSize" Value="20"/>
</Style>
</UserControl.Styles>
<Border Background="{StaticResource MainBackground}" BorderThickness="0">
<Grid Margin="5" RowSpacing="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/> <!-- Меню -->
<RowDefinition Height="*"/> <!-- Основной контент -->
</Grid.RowDefinitions>
<!-- Меню -->
<ScrollViewer Grid.Row="0" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Disabled">
<Grid ColumnSpacing="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="200"/> <!-- Начальная страница -->
<ColumnDefinition Width="*" MinWidth="200"/> <!-- Анализ -->
<ColumnDefinition Width="*" MinWidth="200"/> <!-- Результаты -->
<ColumnDefinition Width="*" MinWidth="200"/> <!-- Калибровка проб -->
<ColumnDefinition Width="*" MinWidth="200"/> <!-- Калибровка сепаратора -->
<ColumnDefinition Width="*" MinWidth="200"/> <!-- Системная страница -->
</Grid.ColumnDefinitions>
<!-- Начальная страница -->
<Button Grid.Column="0" Classes="menu" Command="{Binding ChangeSectionCommand}" CommandParameter="0">
<TextBlock Classes="menu-text" Text="Начальная страница"/>
</Button>
<!-- Анализ -->
<Button Grid.Column="1" Classes="menu" Command="{Binding ChangeSectionCommand}" CommandParameter="1">
<TextBlock Classes="menu-text" Text="Анализ"/>
</Button>
<!-- Результаты -->
<Button Grid.Column="2" Classes="menu" Command="{Binding ChangeSectionCommand}" CommandParameter="2">
<TextBlock Classes="menu-text" Text="Результаты"/>
</Button>
<!-- Калибровка проб -->
<Button Grid.Column="3" Classes="menu" Command="{Binding ChangeSectionCommand}" CommandParameter="3">
<TextBlock Classes="menu-text" Text="Калибровка проб"/>
</Button>
<!-- Калибровка сепаратора -->
<Button Grid.Column="4" Classes="menu" Command="{Binding ChangeSectionCommand}" CommandParameter="4">
<TextBlock Classes="menu-text" Text="Калибровка сепаратора"/>
</Button>
<!-- Системная страница -->
<Button Grid.Column="5" Classes="menu" Command="{Binding ChangeSectionCommand}" CommandParameter="5">
<TextBlock Classes="menu-text" Text="Системная страница"/>
</Button>
</Grid>
</ScrollViewer>
<!-- Основной контент -->
<core:SectionPanel Grid.Row="1" ClipToBounds="True" CurrentIndex="{Binding CurrentIndex}" Orientation="Horizontal">
<ContentControl Content="{Binding Start}"/> <!-- Начальная страница -->
<ContentControl Content="{Binding Analysis}"/> <!-- Анализ -->
<ContentControl Content="{Binding Results}"/> <!-- Результаты -->
<ContentControl Content="{Binding SampleCalibration}"/> <!-- Калибровка проб -->
<ContentControl Content="{Binding SeparatorCalibration}"/> <!-- Калибровка сепаратора -->
<ContentControl Content="{Binding System}"/> <!-- Системная страница -->
</core:SectionPanel>
</Grid>
</Border>
</UserControl>
+11
View File
@@ -0,0 +1,11 @@
using Avalonia.Controls;
namespace GSS2.Views;
public partial class AmineContentView : UserControl
{
public AmineContentView()
{
InitializeComponent();
}
}