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

122 lines
6.8 KiB
XML

<UserControl x:Class="Livia.Views.Controls.ImageRotationViewerControl"
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"
mc:Ignorable="d"
Focusable="True"
PreviewMouseLeftButtonDown="OnPreviewMouseDown"
PreviewMouseLeftButtonUp="OnPreviewMouseUp"
MouseEnter="OnMouseEnter"
MouseLeave="OnMouseLeave"
MouseMove="OnMouseMove"
PreviewKeyDown="OnPreviewKeyDown"
d:DataContext="{d:DesignInstance Type=viewModels:ImageRotationViewerControlViewModel}"
d:Background="{StaticResource BackgroundColorBrush}"
d:DesignHeight="300"
d:DesignWidth="200">
<Border Background="Transparent"
PreviewMouseWheel="OnPreviewMouseWheel">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="40" />
</Grid.RowDefinitions>
<Border Grid.Row="0"
CornerRadius="8, 8, 0, 0"
Background="#000">
<Grid>
<Grid.ContextMenu>
<ContextMenu Visibility="{Binding StructureImageSeries.WindowCenterModifiable, Converter={StaticResource BooleanToVisibilityConverter}}">
<MenuItem Header="{StaticResource DefaultWindowLevelButtonTest}"
Click="DefaultWindowLevelButtonClick" />
</ContextMenu>
</Grid.ContextMenu>
<Image VerticalAlignment="Stretch"
RenderOptions.BitmapScalingMode="HighQuality"
Margin="8, 0"
Source="{Binding StructureImageSeries.CurrentBitmapImage}" />
<Image VerticalAlignment="Stretch"
RenderOptions.BitmapScalingMode="HighQuality"
Opacity="0.5"
Margin="8, 0"
Source="{Binding AtlasMaskImageSeries.CurrentBitmapImage}" />
<ItemsControl ItemsSource="{Binding CurrentRoiCollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image RenderOptions.BitmapScalingMode="HighQuality"
Visibility="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}}"
VerticalAlignment="Stretch"
Source="{Binding MaskImageSeries.CurrentBitmapImage}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<StackPanel Orientation="Horizontal"
Margin="10, 0"
VerticalAlignment="Bottom">
<TextBlock Foreground="{StaticResource White1Brush}"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Text="{Binding CurrentIndex}"
Style="{StaticResource MaterialDesignBody1TextBlock}"
d:Text="1" />
<TextBlock Foreground="{StaticResource White1Brush}"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Text="/"
Style="{StaticResource MaterialDesignBody1TextBlock}" />
<TextBlock Foreground="{StaticResource White1Brush}"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Text="{Binding MaxIndex}"
Style="{StaticResource MaterialDesignBody1TextBlock}"
d:Text="20" />
</StackPanel>
<controls:ColorBarControl DataContext="{Binding ColorBarControlViewModel}" />
</Grid>
</Border>
<Border Grid.Row="1"
CornerRadius="0, 0, 8, 8"
Background="{StaticResource PrimaryColorBrush}">
<Grid>
<TextBlock Background="{StaticResource PrimaryColorBrush}"
Foreground="{StaticResource White1Brush}"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Text="{Binding DisplayName}"
Style="{StaticResource MaterialDesignBody1TextBlock}"
d:Text="灌注图" />
<TextBlock Foreground="{StaticResource White1Brush}"
VerticalAlignment="Center"
Margin="5, 0"
HorizontalAlignment="Left"
Text="R"
Visibility="{Binding Path=IsMouseOver, RelativeSource={RelativeSource AncestorType={x:Type Grid}, Mode=FindAncestor, AncestorLevel=2}, Converter={StaticResource BooleanToVisibilityConverter}}"
d:Visibility="Visible"
Style="{StaticResource MaterialDesignHeadline5TextBlock}" />
<TextBlock Foreground="{StaticResource White1Brush}"
VerticalAlignment="Center"
Margin="5, 0"
HorizontalAlignment="Right"
Text="L"
Visibility="{Binding Path=IsMouseOver, RelativeSource={RelativeSource AncestorType={x:Type Grid}, Mode=FindAncestor, AncestorLevel=2}, Converter={StaticResource BooleanToVisibilityConverter}}"
d:Visibility="Visible"
Style="{StaticResource MaterialDesignHeadline5TextBlock}" />
</Grid>
</Border>
</Grid>
</Border>
</UserControl>