Files
Resonance/src/GUI/Views/MainWindow.axaml
T

72 lines
2.9 KiB
XML

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:GUI.ViewModels"
xmlns:views="using:GUI.Views"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="1200" d:DesignHeight="800"
x:Class="GUI.Views.MainWindow"
x:DataType="vm:MainWindowViewModel"
x:Name="Root"
Icon="/Assets/avalonia-logo.ico"
Title="Resonance"
Width="1200" Height="800"
MinWidth="900" MinHeight="600">
<Design.DataContext>
<vm:MainWindowViewModel/>
</Design.DataContext>
<Grid RowDefinitions="Auto,*,Auto">
<!-- 工具栏 -->
<Border Grid.Row="0" Padding="6,4" BorderBrush="{DynamicResource SystemBaseLowColorBrush}"
BorderThickness="0,0,0,1" Background="{DynamicResource SystemAltMediumColorBrush}">
<StackPanel Orientation="Horizontal" Spacing="4">
<Button Content="扫描目录" x:Name="ScanButton" Height="28" Padding="8,0"/>
<Button Content="偏好设置" Height="28" Padding="8,0" IsEnabled="False"/>
</StackPanel>
</Border>
<!-- 主内容区:三栏布局 -->
<Grid Grid.Row="1" ColumnDefinitions="220,4,*,4,300">
<!-- 左侧标签树 -->
<Border Grid.Column="0" BorderBrush="{DynamicResource SystemBaseLowColorBrush}"
BorderThickness="0,0,1,0">
<views:TagTreeView DataContext="{Binding TagTreeVM}"/>
</Border>
<GridSplitter Grid.Column="1" Width="4" Background="Transparent"/>
<!-- 中间文件列表 -->
<Border Grid.Column="2">
<views:FileListView DataContext="{Binding FileListVM}"/>
</Border>
<GridSplitter Grid.Column="3" Width="4" Background="Transparent"/>
<!-- 右侧元数据面板 -->
<Border Grid.Column="4" BorderBrush="{DynamicResource SystemBaseLowColorBrush}"
BorderThickness="1,0,0,0">
<views:MetadataPanelView DataContext="{Binding MetadataPanelVM}"/>
</Border>
<!-- 扫描进度遮罩 -->
<Border Grid.ColumnSpan="5"
IsVisible="{Binding ScanProgressVM.IsScanning}"
Background="#80000000">
<views:ScanProgressView DataContext="{Binding ScanProgressVM}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</Grid>
<!-- 底部播放栏 -->
<Border Grid.Row="2">
<views:PlayerBarView DataContext="{Binding PlayerBarVM}"/>
</Border>
</Grid>
</Window>