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

213 lines
14 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"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:viewUtility="clr-namespace:Livia.Views.Utility"
mc:Ignorable="d"
Closing="WindowClosing"
x:Class="Livia.Views.SelectReportModuleDialog"
d:DataContext="{d:DesignInstance Type=viewModels:SelectReportModuleWindowViewModel}"
Style="{StaticResource LiviaDialog}"
SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterScreen"
Title="{StaticResource SelectReportModuleWindowTitle}"
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 SelectReportModuleWindowTitle}"
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 Processing, Converter={StaticResource BooleanToVisibilityConverter}}"
Height="10"
Width="200"
IsIndeterminate="True" />
<Grid Visibility="{Binding ShowSelectReportModuleDialog, Source={x:Static properties:Settings.Default}, Converter={StaticResource BooleanToVisibilityConverter}}">
<StackPanel Visibility="{Binding Processing, Converter={StaticResource InverseBooleanToVisibilityCollapsedConverter}}">
<DockPanel Margin="20, 10">
<TextBlock DockPanel.Dock="Left"
Style="{DynamicResource MaterialDesignBody1TextBlock}"
Foreground="{StaticResource Gray1Brush}"
VerticalAlignment="Bottom"
Text="{StaticResource ReportName}" />
<TextBox DockPanel.Dock="Right"
x:Name="ReportName"
d:Text="报告"
MinWidth="100"
materialDesign:HintAssist.Hint="{StaticResource ReportNameHint}"
materialDesign:HintAssist.FloatingScale="1"
Style="{StaticResource MaterialDesignFloatingHintTextBox}"
Foreground="{StaticResource Gray1Brush}"
BorderBrush="{StaticResource PrimaryTextColorBrush}"
Text="{Binding ReportName}"
TextChanged="ReportNameTextChanged"
HorizontalAlignment="Right"
VerticalAlignment="Bottom" />
</DockPanel>
<DockPanel Margin="20, 10"
Visibility="Collapsed">
<TextBlock DockPanel.Dock="Left"
Style="{DynamicResource MaterialDesignBody1TextBlock}"
Foreground="{StaticResource Gray1Brush}"
VerticalAlignment="Bottom"
Text="{StaticResource Language}" />
<ComboBox DockPanel.Dock="Right"
HorizontalAlignment="Right"
Foreground="{StaticResource Gray1Brush}"
ItemsSource="{x:Static viewUtility:ViewUtility.LanguageList}"
SelectedValue="{Binding Language}"
SelectedValuePath="Id">
<ComboBox.Resources>
<SolidColorBrush x:Key="MaterialDesignPaper"
Color="#2A384C" />
</ComboBox.Resources>
</ComboBox>
</DockPanel>
<DockPanel Margin="20, 10">
<TextBlock DockPanel.Dock="Left"
Style="{DynamicResource MaterialDesignBody1TextBlock}"
Foreground="{StaticResource Gray1Brush}"
VerticalAlignment="Bottom"
Text="{StaticResource AnonymousMode}" />
<ToggleButton DockPanel.Dock="Right"
HorizontalAlignment="Right"
IsChecked="{Binding PatientInfoManager.AnonymousMode}" />
</DockPanel>
<DockPanel Margin="20, 10">
<TextBlock DockPanel.Dock="Left"
Style="{DynamicResource MaterialDesignBody1TextBlock}"
Foreground="{StaticResource Gray1Brush}"
VerticalAlignment="Bottom"
Text="{StaticResource ShowRoiLocation}" />
<ToggleButton DockPanel.Dock="Right"
HorizontalAlignment="Right"
IsChecked="{Binding ShowRoiLocation}" />
</DockPanel>
<ItemsControl ItemsSource="{Binding ModuleGroups}"
d:ItemsSource="{d:SampleData}"
Width="500"
ScrollViewer.CanContentScroll="True"
VirtualizingPanel.IsVirtualizing="True">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Expander HorizontalAlignment="Stretch"
VerticalAlignment="Top"
Visibility="{Binding Visible, Converter={StaticResource BooleanToVisibilityConverter}}"
Style="{StaticResource MaterialDesignExpander}"
Margin="10"
Background="{StaticResource PrimaryColorLightBrush}"
Foreground="{StaticResource PrimaryTextColorBrush}">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding ModuleItemCollection.CheckBoxChecked}"
d:IsChecked="False"
Margin="5, 0"
Background="{StaticResource PrimaryTextColorBrush}" />
<TextBlock Style="{StaticResource MaterialDesignBody1TextBlock}"
Foreground="{StaticResource Gray1Brush}"
VerticalAlignment="Center"
Text="{Binding Name}" />
</StackPanel>
</Expander.Header>
<StackPanel Orientation="Vertical"
VerticalAlignment="Top"
Margin="40, 0, 0, 16">
<ItemsControl ItemsSource="{Binding ModuleItemCollection.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 Name}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</Expander>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Border Background="{StaticResource PrimaryColorLightBrush}"
Visibility="{Binding ShowReportModuleAalCheckbox, Source={x:Static properties:Settings.Default}, Converter={StaticResource BooleanToVisibilityConverter}}"
Height="55"
Margin="10">
<StackPanel Orientation="Horizontal"
Margin="25, 0">
<CheckBox IsChecked="{Binding ReportModuleAal}"
d:IsChecked="False"
Margin="5, 0"
Background="{StaticResource PrimaryTextColorBrush}" />
<TextBlock Style="{StaticResource MaterialDesignBody1TextBlock}"
VerticalAlignment="Center"
Foreground="{StaticResource Gray1Brush}"
Text="{StaticResource ReportModuleAal}" />
</StackPanel>
</Border>
</StackPanel>
</Grid>
</StackPanel>
</ScrollViewer>
<Button Margin="20"
x:Name="ConfirmButton"
Style="{StaticResource LiviaPrimaryProcessingTextButton}"
Visibility="{Binding Processing, Converter={StaticResource InverseBooleanToVisibilityCollapsedConverter}}"
attachedProperties:StringItemProperties.ItemName="{StaticResource Confirm}"
Click="ConfirmButtonClick" />
</StackPanel>
</Border>
</Window>