AnalogSignalPreviewView.axaml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <UserControl
  2. x:Class="ShakerApp.Views.AnalogSignalPreviewView"
  3. xmlns="https://github.com/avaloniaui"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="using:ShakerApp"
  7. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  8. xmlns:oxy="http://oxyplot.org/avalonia"
  9. xmlns:vm="using:ShakerApp.ViewModels"
  10. d:DesignHeight="450"
  11. d:DesignWidth="800"
  12. x:DataType="vm:AnalogSignalPreviewViewModel"
  13. mc:Ignorable="d">
  14. <Grid>
  15. <oxy:PlotView
  16. Background="Transparent"
  17. Controller="{Binding PlotController}"
  18. Model="{Binding PlotModel}" />
  19. <StackPanel
  20. HorizontalAlignment="Right"
  21. VerticalAlignment="Top"
  22. Orientation="Horizontal">
  23. <StackPanel IsVisible="{Binding CanChangedAnalog}" Orientation="Horizontal">
  24. <TextBlock VerticalAlignment="Center" Text="信号" />
  25. <ComboBox
  26. Width="120"
  27. ItemsSource="{Binding AllAnalogTypes}"
  28. SelectedValue="{Binding Path=Value}"
  29. SelectedValueBinding="{Binding Value}">
  30. <ComboBox.ItemTemplate>
  31. <DataTemplate>
  32. <TextBlock Text="{local:ResourceBinding Key}" />
  33. </DataTemplate>
  34. </ComboBox.ItemTemplate>
  35. </ComboBox>
  36. </StackPanel>
  37. <StackPanel Margin="10,0,0,0" Orientation="Horizontal">
  38. <TextBlock VerticalAlignment="Center" Text="{DynamicResource Statistics}" />
  39. <ToggleSwitch IsChecked="{Binding StatisticsVisibily, Mode=TwoWay}" />
  40. </StackPanel>
  41. </StackPanel>
  42. <Border
  43. Margin="80,60"
  44. HorizontalAlignment="Left"
  45. VerticalAlignment="Top"
  46. Background="#1FAAAAAA"
  47. CornerRadius="6"
  48. IsHitTestVisible="False"
  49. IsVisible="{Binding StatisticsVisibily}">
  50. <StackPanel Margin="10">
  51. <Grid Height="20" ColumnDefinitions="80,80,80,80">
  52. <TextBlock
  53. HorizontalAlignment="Center"
  54. VerticalAlignment="Center"
  55. Text="{DynamicResource ChannelName}" />
  56. <TextBlock
  57. Grid.Column="1"
  58. HorizontalAlignment="Center"
  59. VerticalAlignment="Center"
  60. Text="{DynamicResource Max}" />
  61. <TextBlock
  62. Grid.Column="2"
  63. HorizontalAlignment="Center"
  64. VerticalAlignment="Center"
  65. Text="{DynamicResource Min}" />
  66. <TextBlock
  67. Grid.Column="3"
  68. HorizontalAlignment="Center"
  69. VerticalAlignment="Center"
  70. Text="{DynamicResource Rms}" />
  71. </Grid>
  72. <ItemsControl ItemsSource="{Binding Statistics}">
  73. <ItemsControl.ItemTemplate>
  74. <DataTemplate>
  75. <Grid Height="20" ColumnDefinitions="80,80,80,80">
  76. <TextBlock
  77. HorizontalAlignment="Center"
  78. VerticalAlignment="Center"
  79. Text="{local:ResourceBinding Name}" />
  80. <TextBlock
  81. Grid.Column="1"
  82. HorizontalAlignment="Center"
  83. VerticalAlignment="Center"
  84. Text="{Binding Max, StringFormat='{}{0:F3}'}" />
  85. <TextBlock
  86. Grid.Column="2"
  87. HorizontalAlignment="Center"
  88. VerticalAlignment="Center"
  89. Text="{Binding Min, StringFormat='{}{0:F3}'}" />
  90. <TextBlock
  91. Grid.Column="3"
  92. HorizontalAlignment="Center"
  93. VerticalAlignment="Center"
  94. Text="{Binding RMS, StringFormat='{}{0:F3}'}" />
  95. </Grid>
  96. </DataTemplate>
  97. </ItemsControl.ItemTemplate>
  98. </ItemsControl>
  99. </StackPanel>
  100. </Border>
  101. </Grid>
  102. </UserControl>