Files
GazpromApp/Views/MainWindow.axaml
T

83 lines
3.7 KiB
XML

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:anim="https://github.com/whistyun/AnimatedImage.Avalonia"
xmlns:vm="using:GazpromApp.ViewModels"
xmlns:views="using:GazpromApp.Views"
xmlns:icons="using:Material.Icons.Avalonia"
mc:Ignorable="d" d:DesignWidth="1024" d:DesignHeight="600"
x:Class="GazpromApp.Views.MainWindow"
x:DataType="vm:MainWindowViewModel"
x:Name="Window"
Icon="/Assets/gazpromapp.ico"
Title="GazpromApp"
WindowState="Maximized"
Closing="Window_OnClosing">
<Design.DataContext>
<vm:MainWindowViewModel/>
</Design.DataContext>
<DockPanel x:Name="Root">
<Menu DockPanel.Dock="Top">
<MenuItem Command="{Binding SyncDbCommand}">
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<icons:MaterialIcon Kind="Sync" Width="24" Height="24"/>
<TextBlock Margin="8,0,0,0" Text="Сохранить и обновить" VerticalAlignment="Center"/>
</StackPanel>
</MenuItem.Header>
</MenuItem>
<MenuItem Command="{Binding ExportPointCommand}"
CommandParameter="{Binding #Window}">
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<icons:MaterialIcon Kind="Upload" Width="24" Height="24"/>
<TextBlock Margin="8,0,0,0" Text="Экспорт" VerticalAlignment="Center"/>
</StackPanel>
</MenuItem.Header>
</MenuItem>
<MenuItem Command="{Binding ImportPointCommand}"
CommandParameter="{Binding #Window}">
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<icons:MaterialIcon Kind="Download" Width="24" Height="24"/>
<TextBlock Margin="8,0,0,0" Text="Импорт" VerticalAlignment="Center"/>
</StackPanel>
</MenuItem.Header>
</MenuItem>
</Menu>
<Grid DockPanel.Dock="Top" HorizontalAlignment="Stretch"
ColumnDefinitions="*,2,2*">
<ScrollViewer>
<StackPanel Orientation="Vertical">
<TreeView ItemsSource="{Binding Points}"
SelectionChanged="TreeView_OnSelectionChanged">
<TreeView.DataTemplates>
<TreeDataTemplate DataType="{x:Type vm:PointViewModel}"
ItemsSource="{Binding Equipment}">
<views:PointView Padding="0,0,20,0"/>
</TreeDataTemplate>
<TreeDataTemplate DataType="{x:Type vm:EquipmentViewModel}"
ItemsSource="{Binding Equipments}">
<views:EquipmentView Padding="0,0,20,0"/>
</TreeDataTemplate>
</TreeView.DataTemplates>
</TreeView>
<Button Classes="Accent" Height="32" Width="32" Margin="4" HorizontalAlignment="Center"
Command="{Binding AddPointCommand}">
<icons:MaterialIcon Kind="Add" Width="24" Height="24"/>
</Button>
</StackPanel>
</ScrollViewer>
<GridSplitter Background="#b6b6b6" Grid.Column="1" ResizeDirection="Columns"/>
<ContentControl Grid.Column="2" Content="{Binding SelectedItemViewModel}"/>
<Image Width="100" Height="100" VerticalAlignment="Center"
IsVisible="{Binding IsLoading}"
HorizontalAlignment="Center"
Grid.Row="0" Grid.Column="0"
anim:ImageBehavior.AnimatedSource="avares://GazpromApp/Assets/loading.gif"/>
</Grid>
</DockPanel>
</Window>