ImageDisplayControl.xaml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <UserControl x:Class="TeamAAS.Camera.UI.Controls.ImageDisplayControl"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. Background="#1E1E1E"
  5. Focusable="True">
  6. <Grid x:Name="MainGrid"
  7. Background="#1E1E1E"
  8. ClipToBounds="True"
  9. MouseWheel="OnMouseWheel"
  10. MouseLeftButtonDown="OnMouseLeftButtonDown"
  11. MouseLeftButtonUp="OnMouseLeftButtonUp"
  12. MouseMove="OnMouseMove"
  13. MouseLeave="OnMouseLeave"
  14. AllowDrop="True"
  15. Drop="OnDrop"
  16. DragOver="OnDragOver">
  17. <!-- Image inside Canvas: use Width/Height + Canvas position for zoom/pan -->
  18. <Canvas x:Name="ImageCanvas" ClipToBounds="True">
  19. <Image x:Name="ImageControl"
  20. Stretch="Fill"
  21. SnapsToDevicePixels="True"/>
  22. </Canvas>
  23. <!-- Crosshair overlay -->
  24. <Canvas x:Name="OverlayCanvas"
  25. IsHitTestVisible="False"
  26. Visibility="Collapsed">
  27. <Line x:Name="CrossLineH" Stroke="#22FF00" StrokeThickness="1" Opacity="0.6"/>
  28. <Line x:Name="CrossLineV" Stroke="#22FF00" StrokeThickness="1" Opacity="0.6"/>
  29. </Canvas>
  30. <!-- Info bar -->
  31. <DockPanel LastChildFill="False"
  32. VerticalAlignment="Bottom"
  33. Background="#80000000">
  34. <TextBlock x:Name="CoordText"
  35. Foreground="#22FF00"
  36. FontFamily="Consolas"
  37. FontSize="11"
  38. Margin="6,2"
  39. DockPanel.Dock="Left"/>
  40. <TextBlock x:Name="ZoomText"
  41. Text="100%"
  42. Foreground="#22FF00"
  43. FontFamily="Consolas"
  44. FontSize="11"
  45. Margin="6,2"
  46. DockPanel.Dock="Right"/>
  47. </DockPanel>
  48. <!-- Empty state -->
  49. <TextBlock x:Name="EmptyText"
  50. Text="拖放图片到此处 或 绑定图像源"
  51. Foreground="#555555"
  52. FontSize="13"
  53. HorizontalAlignment="Center"
  54. VerticalAlignment="Center"/>
  55. <Grid.ContextMenu>
  56. <ContextMenu>
  57. <MenuItem Header="显示定位十字" IsCheckable="True" x:Name="CrosshairMenuItem" Click="MenuToggleCrosshair_Click"/>
  58. <Separator/>
  59. <MenuItem Header="保存图像" Click="MenuSaveImage_Click"/>
  60. <Separator/>
  61. <MenuItem Header="适应窗口" Click="MenuFitWindow_Click"/>
  62. <MenuItem Header="实际大小 (100%)" Click="MenuActualSize_Click"/>
  63. </ContextMenu>
  64. </Grid.ContextMenu>
  65. </Grid>
  66. </UserControl>