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

123 lines
7.2 KiB
XML

<UserControl x:Class="Livia.Views.Controls.MosaicImageGroupControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:viewModels="clr-namespace:Livia.ViewModels"
xmlns:controls="clr-namespace:Livia.Views.Controls"
xmlns:attachedProperties="clr-namespace:Livia.Views.AttachedProperties"
xmlns:converters="clr-namespace:Livia.Views.Converters"
d:DataContext="{d:DesignInstance Type=viewModels:MosaicImageGroupControlViewModel}"
mc:Ignorable="d"
d:DesignHeight="450"
d:DesignWidth="800">
<UserControl.Resources>
<converters:BooleanToVisibilityHiddenConverter x:Key="BooleanToVisibilityHiddenConverter" />
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="1"
Margin="0"
HorizontalAlignment="Stretch"
Visibility="{Binding AxialOverviewVisible, Converter={StaticResource BooleanToVisibilityConverter}}">
<controls:ImageRotationViewerGroupControl DataContext="{Binding AxialOverviewViewModel}" />
</Grid>
<Grid Grid.Column="1"
Margin="5"
HorizontalAlignment="Right"
Background="Transparent"
Visibility="{Binding AxialOverviewVisible, Converter={StaticResource InverseBoolToVisConverter}}">
<Grid HorizontalAlignment="Right"
VerticalAlignment="Center">
<controls:MosaicImageControl DataContext="{Binding CurrentMosaicImageControlViewModel}"
d:Background="BlueViolet"
d:Width="400"
d:Height="400" />
<Button Style="{StaticResource LiviaStretchIconButton}"
d:Visibility="Visible"
CommandParameter="{Binding CurrentMosaicImageControlViewModel}" />
</Grid>
</Grid>
<Grid Grid.Column="0"
HorizontalAlignment="Left">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<ScrollViewer Grid.Row="0"
HorizontalAlignment="Left"
VerticalScrollBarVisibility="Auto">
<StackPanel Orientation="Vertical">
<RadioButton HorizontalAlignment="Left"
Style="{StaticResource MainWindowTabRadioButton}"
GroupName="MainWindowTabs"
Cursor="Hand"
IsChecked="{Binding AxialOverviewVisible}"
Margin="0, 20, 10, 0"
attachedProperties:StringItemProperties.ItemName="{StaticResource AxialOverview}"
attachedProperties:MaterialTitleBarButtonProperties.IconSwitch="False"/>
<ItemsControl HorizontalAlignment="Left"
ItemsSource="{Binding MosaicImageCollection}"
Margin="0, 0, 10, 0">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<Border Height="2" Width="80" Margin="20,4,0,0"
HorizontalAlignment="Left"
Visibility="{Binding ShowMosaicRoiOverlayTip, Converter={StaticResource BooleanToVisibilityConverter}}" >
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="#0000" Offset="0"/>
<GradientStop Color="Black" Offset="0.5"/>
<GradientStop Color="#0000" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<StackPanel Orientation="Horizontal">
<RadioButton Style="{StaticResource MainWindowTabRadioButton}"
GroupName="MainWindowTabs"
Checked="ToggleButtonOnChecked"
Cursor="Hand"
IsChecked="{Binding IsChecked}"
Margin="0, 4, 10, 0"
attachedProperties:MaterialTitleBarButtonProperties.IconSwitch="{Binding ShowMosaicRoiOverlayTip}"
attachedProperties:StringItemProperties.ItemName="{Binding DisplayName }" />
<Button Margin="-100, 6, 0, 0"
Style="{StaticResource LiviaPrimaryIconButton}"
attachedProperties:IconKindProperties.IconKind="Table"
ToolTip="{StaticResource JumpPerfusionDataTip}"
DataContext="{Binding }"
Visibility="{Binding ShowJumpToDataGridButton, Converter={StaticResource BooleanToVisibilityConverter}}"
Click="PerfusionDataGridJumpButtonOnClick"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ScrollViewer>
<Grid Grid.Row="1"
HorizontalAlignment="Left">
<Grid Visibility="{Binding ColorBarVisible, Converter={StaticResource BooleanToVisibilityHiddenConverter}}"
Width="150"
MinHeight="150"
Margin="0, 10"
HorizontalAlignment="Left">
<controls:ColorBarControl DataContext="{Binding ColorBarControlViewModel}" />
</Grid>
<Grid HorizontalAlignment="Left"
Margin="10, 0,10,10"
Visibility="{Binding RoiLegendVisible, Converter={StaticResource BooleanToVisibilityHiddenConverter}}">
<controls:RoiLegendControl DataContext="{Binding RoiLegendManager}" />
</Grid>
</Grid>
</Grid>
</Grid>
</UserControl>