livia-test/Livia/Views/SelectSeriesDialog.xaml
2025-03-28 14:31:53 +08:00

130 lines
7.4 KiB
XML

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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:controls="clr-namespace:Livia.Views.Controls"
xmlns:properties="clr-namespace:Livia.Properties"
xmlns:converters="clr-namespace:Livia.Views.Converters"
xmlns:attachedProperties="clr-namespace:Livia.Views.AttachedProperties"
xmlns:viewModels="clr-namespace:Livia.ViewModels"
mc:Ignorable="d"
x:Class="Livia.Views.SelectSeriesDialog"
d:DataContext="{d:DesignInstance Type=viewModels:SelectSeriesWindowViewModel}"
Style="{StaticResource LiviaDialog}"
SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterScreen"
Title="{StaticResource SelectSeriesWindowTitle}"
Background="Transparent"
Topmost="True">
<Window.Resources>
<converters:IntToFontWeightConverter x:Key="IntToFontWeightConverter" />
<converters:InverseBooleanToVisibilityCollapsedConverter x:Key="InverseBooleanToVisibilityCollapsedConverter" />
<Style TargetType="ScrollBar">
<Setter Property="Background"
Value="White" />
</Style>
</Window.Resources>
<Window.FontWeight>
<Binding Mode="OneWay"
Path="FontWeight"
Source="{x:Static properties:ViewSettings.Default}"
Converter="{StaticResource IntToFontWeightConverter}" />
</Window.FontWeight>
<Border CornerRadius="6"
Background="{StaticResource PrimaryColorBrush}">
<StackPanel>
<Border BorderThickness="0, 0, 0, 1"
BorderBrush="{StaticResource Gray1Brush}">
<DockPanel DockPanel.Dock="Top"
Height="60"
MouseLeftButtonDown="TitleBarMouseLeftButtonDown"
LastChildFill="True">
<controls:MaterialTitleBar MaximizeButtonVisibility="Hidden"
MinimizeButtonVisibility="Hidden"
DockPanel.Dock="Right" />
<TextBlock Text="{StaticResource SelectSeriesWindowTitle}"
Margin="20, 0, 0, 0"
VerticalAlignment="Center"
Foreground="{StaticResource Gray1Brush}"
Style="{StaticResource MaterialDesignHeadline6TextBlock}" />
</DockPanel>
</Border>
<ScrollViewer MaxHeight="500"
VerticalScrollBarVisibility="Auto"
Margin="0, 10">
<StackPanel Orientation="Vertical"
Margin="40, 0">
<ProgressBar Margin="20"
Visibility="{Binding Loaded, Converter={StaticResource InverseBooleanToVisibilityCollapsedConverter}}"
Height="10"
Width="200"
IsIndeterminate="True" />
<ItemsControl ItemsSource="{Binding SeriesGroups}"
d:ItemsSource="{d:SampleData}"
Width="500"
ScrollViewer.CanContentScroll="True"
VirtualizingPanel.IsVirtualizing="True">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Expander HorizontalAlignment="Stretch"
VerticalAlignment="Top"
Style="{StaticResource MaterialDesignExpander}"
Margin="10"
Background="{StaticResource PrimaryColorLightBrush}"
Foreground="{StaticResource PrimaryTextColorBrush}">
<Expander.Header>
<DockPanel>
<StackPanel DockPanel.Dock="Left"
Orientation="Horizontal">
<CheckBox IsChecked="{Binding SeriesCollection.CheckBoxChecked}"
d:IsChecked="true"
Margin="5, 0"
Background="{StaticResource PrimaryTextColorBrush}" />
<TextBlock Style="{StaticResource MaterialDesignBody1TextBlock}"
Text="{Binding Name}" />
</StackPanel>
</DockPanel>
</Expander.Header>
<StackPanel Orientation="Vertical"
VerticalAlignment="Top"
Margin="40, 0, 0, 16">
<ItemsControl ItemsSource="{Binding SeriesCollection.Items}"
d:ItemsSource="{d:SampleData}"
ScrollViewer.CanContentScroll="True"
VirtualizingPanel.IsVirtualizing="True">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsChecked}"
d:IsChecked="False"
Margin="5, 0"
Background="{StaticResource PrimaryTextColorBrush}" />
<TextBlock Style="{StaticResource MaterialDesignBody1TextBlock}"
Foreground="{StaticResource Gray1Brush}"
Text="{Binding SeriesData.SeriesDescription}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</Expander>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ScrollViewer>
<Button Margin="20"
Style="{StaticResource LiviaPrimaryTextButton}"
attachedProperties:StringItemProperties.ItemName="{StaticResource Confirm}"
Click="ConfirmButtonClick" />
</StackPanel>
</Border>
</Window>