ImgWindow.xaml 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <Window x:Class="MeterVision.imgWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:local="clr-namespace:MeterVision"
  7. mc:Ignorable="d"
  8. SizeChanged="Window_SizeChanged"
  9. Closed="Window_Closed"
  10. Title="图片查看[滑动鼠标滚轴进行缩放]" Height="450" Width="600"
  11. WindowStartupLocation="CenterOwner"
  12. PreviewMouseWheel="Window_PreviewMouseWheel"
  13. ShowInTaskbar="False"
  14. Loaded="Window_Loaded">
  15. <Grid>
  16. <!-- Row definitions to control layout -->
  17. <Grid.RowDefinitions>
  18. <RowDefinition Height="Auto" />
  19. <RowDefinition Height="*" />
  20. <!-- Image row -->
  21. <RowDefinition Height="Auto" />
  22. <!-- Toolbar row -->
  23. </Grid.RowDefinitions>
  24. <!-- ScrollViewer for zooming and panning -->
  25. <TextBox IsReadOnly="True" BorderThickness="0" Text="{Binding ImageSourcePath,Mode=OneWay}" Grid.Row="0" Margin="10 5 10 5" VerticalAlignment="Center" FontSize="14px" TextWrapping="Wrap"/>
  26. <ScrollViewer x:Name="scrollViewer" Grid.Row="1"
  27. HorizontalScrollBarVisibility="Auto"
  28. VerticalScrollBarVisibility="Auto"
  29. PanningMode="Both"
  30. PanningRatio="1">
  31. <Image x:Name="imgViewer" Stretch="None" RenderTransformOrigin="0.5, 0.5"
  32. PreviewMouseLeftButtonDown="Image_PreviewMouseLeftButtonDown"
  33. PreviewMouseMove="Image_PreviewMouseMove"
  34. PreviewMouseLeftButtonUp="Image_PreviewMouseLeftButtonUp">
  35. <!--<Image.LayoutTransform>
  36. <TransformGroup>
  37. <ScaleTransform ScaleX="{Binding ZoomFactor}" ScaleY="{Binding ZoomFactor}" />
  38. <RotateTransform Angle="{Binding RotationAngle}" />
  39. </TransformGroup>
  40. </Image.LayoutTransform>-->
  41. </Image>
  42. </ScrollViewer>
  43. <!-- Toolbar with buttons for zooming and rotating -->
  44. <StackPanel Grid.Row="2" Orientation="Horizontal" Background="#666666" Margin="5" HorizontalAlignment="Center">
  45. <Button Content="+" FontSize="20px" Width="30" Height="30" Click="ZoomIn_Click" Margin="10 5 10 5" Padding="0" Foreground="White" Background="#333333" />
  46. <Button Content="-" FontSize="20px" Width="30" Height="30" Click="ZoomOut_Click" Margin="0 5 10 5" Padding="0" Foreground="White" Background="#333333" />
  47. <Button Content="↔️" FontSize="20px" Width="30" Height="30" Click="ZoomFit_Click" Margin="0 5 10 5" Padding="0" Foreground="White" Background="#333333" />
  48. <Button Content="↺" FontSize="20px" Width="30" Height="30" Click="RotateLeft_Click" Margin="0 5 10 5" Padding="0" Foreground="White" Background="#333333" />
  49. <Button Content="↻" FontSize="20px" Width="30" Height="30" Click="RotateRight_Click" Margin="0 5 10 5" Padding="0" Foreground="White" Background="#333333" />
  50. <Button Content="📥" FontSize="20px" Width="30" Height="30" Click="ImageSave_Click" Margin="0 5 10 5" Padding="0" Foreground="White" Background="#333333" />
  51. <!--<Button Content="💾" FontSize="20px" Width="30" Height="30" Click="Save_Click" Foreground="Green" Background="#333333"/>-->
  52. </StackPanel>
  53. </Grid>
  54. </Window>