SineMainPage.axaml 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <UserControl
  2. x:Class="ShakerApp.Views.SineMainPage"
  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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  7. xmlns:oxy="clr-namespace:OxyPlot.Avalonia;assembly=OxyPlot.Avalonia"
  8. xmlns:suki="https://github.com/kikipoulet/SukiUI"
  9. xmlns:view="using:ShakerApp.Views"
  10. xmlns:vm="using:ShakerApp.ViewModels"
  11. d:DesignHeight="450"
  12. d:DesignWidth="800"
  13. x:DataType="vm:SineMainPageViewModel"
  14. DataContext="{Binding Source={x:Static vm:SineMainPageViewModel.Instance}}"
  15. mc:Ignorable="d">
  16. <Grid ColumnDefinitions="220,*">
  17. <ScrollViewer Grid.Column="0">
  18. <StackPanel>
  19. <view:ShakerMiniStatusControl />
  20. <view:OilMinView />
  21. <Expander ExpandDirection="Down">
  22. <Expander.Header>
  23. <TextBlock
  24. FontSize="24"
  25. FontWeight="Bold"
  26. Text="试验信息" />
  27. </Expander.Header>
  28. <StackPanel Margin="4,0,0,0">
  29. <StackPanel Height="{StaticResource ItemHeight}" Orientation="Horizontal">
  30. <TextBlock VerticalAlignment="Center" Text="试验时长:" />
  31. <TextBlock
  32. VerticalAlignment="Center"
  33. FontWeight="Normal"
  34. Text="{Binding TotalTime, Converter={StaticResource TimeToStringConverter}}" />
  35. </StackPanel>
  36. <StackPanel Height="{StaticResource ItemHeight}" Orientation="Horizontal">
  37. <TextBlock VerticalAlignment="Center" Text="运行时长:" />
  38. <TextBlock
  39. VerticalAlignment="Center"
  40. FontWeight="Normal"
  41. Text="{Binding RunTime, Converter={StaticResource TimeToStringConverter}}" />
  42. </StackPanel>
  43. <StackPanel Height="{StaticResource ItemHeight}" Orientation="Horizontal">
  44. <TextBlock VerticalAlignment="Center" Text="当前频率:" />
  45. <TextBlock
  46. VerticalAlignment="Center"
  47. FontWeight="Normal"
  48. Text="{Binding CurrentFrequency, StringFormat='{}{0:F2} Hz'}" />
  49. </StackPanel>
  50. <StackPanel Height="{StaticResource ItemHeight}" Orientation="Horizontal">
  51. <TextBlock VerticalAlignment="Center" Text="当前加速度:" />
  52. <TextBlock
  53. VerticalAlignment="Center"
  54. FontWeight="Normal"
  55. Text="{Binding CurrentAcceleration, StringFormat='{}{0:F2} g'}" />
  56. </StackPanel>
  57. <StackPanel Height="{StaticResource ItemHeight}" Orientation="Horizontal">
  58. <TextBlock VerticalAlignment="Center" Text="当前阶段:" />
  59. <TextBlock
  60. VerticalAlignment="Center"
  61. FontWeight="Normal"
  62. Text="{Binding SweepStep, StringFormat='{}{0:F2} g'}" />
  63. </StackPanel>
  64. </StackPanel>
  65. </Expander>
  66. </StackPanel>
  67. </ScrollViewer>
  68. <oxy:PlotView
  69. Grid.Column="1"
  70. Background="Transparent"
  71. Model="{Binding PlotModel}">
  72. <oxy:PlotView.DefaultTrackerTemplate>
  73. <ControlTemplate>
  74. <oxy:TrackerControl
  75. Background="#6F999999"
  76. BorderBrush="Transparent"
  77. CornerRadius="6"
  78. Position="{Binding Position}"
  79. ShowPointer="True">
  80. <oxy:TrackerControl.Content>
  81. <StackPanel Margin="6">
  82. <TextBlock Text="{DynamicResource Value}" />
  83. <TextBlock>
  84. <Run Text="{DynamicResource Frequency}" />
  85. <Run Text=":" />
  86. <Run Text="{Binding Item.Frequency, StringFormat='{}{0:F2}Hz'}" />
  87. </TextBlock>
  88. <TextBlock IsVisible="{Binding Source={x:Static vm:SineMainPageViewModel.Instance}, Path=LineSeries[0].IsVisible}">
  89. <Run Text="{DynamicResource Acceleration}" />
  90. <Run Text=":" />
  91. <Run Text="{Binding Item.Acceleration, StringFormat='{}{0:F4}g'}" />
  92. </TextBlock>
  93. <TextBlock IsVisible="{Binding Source={x:Static vm:SineMainPageViewModel.Instance}, Path=LineSeries[1].IsVisible}">
  94. <Run Text="{DynamicResource TargetAcceleration}" />
  95. <Run Text=":" />
  96. <Run Text="{Binding Item.TargetAcceleration, StringFormat='{}{0:F4}g'}" />
  97. </TextBlock>
  98. <TextBlock IsVisible="{Binding Source={x:Static vm:SineMainPageViewModel.Instance}, Path=LineSeries[2].IsVisible}">
  99. <Run Text="{DynamicResource UpStopAcceleration}" />
  100. <Run Text=":" />
  101. <Run Text="{Binding Item.UpStopAcceleration, StringFormat='{}{0:F4}g'}" />
  102. </TextBlock>
  103. <TextBlock IsVisible="{Binding Source={x:Static vm:SineMainPageViewModel.Instance}, Path=LineSeries[3].IsVisible}">
  104. <Run Text="{DynamicResource UpWarnAcceleration}" />
  105. <Run Text=":" />
  106. <Run Text="{Binding Item.UpWarnAcceleration, StringFormat='{}{0:F4}g'}" />
  107. </TextBlock>
  108. <TextBlock IsVisible="{Binding Source={x:Static vm:SineMainPageViewModel.Instance}, Path=LineSeries[4].IsVisible}">
  109. <Run Text="{DynamicResource DownStopAcceleration}" />
  110. <Run Text=":" />
  111. <Run Text="{Binding Item.DownStopAcceleration, StringFormat='{}{0:F4}g'}" />
  112. </TextBlock>
  113. <TextBlock IsVisible="{Binding Source={x:Static vm:SineMainPageViewModel.Instance}, Path=LineSeries[5].IsVisible}">
  114. <Run Text="{DynamicResource DownWarnAcceleration}" />
  115. <Run Text=":" />
  116. <Run Text="{Binding Item.DownWarnAcceleration, StringFormat='{}{0:F4}g'}" />
  117. </TextBlock>
  118. </StackPanel>
  119. </oxy:TrackerControl.Content>
  120. </oxy:TrackerControl>
  121. </ControlTemplate>
  122. </oxy:PlotView.DefaultTrackerTemplate>
  123. </oxy:PlotView>
  124. </Grid>
  125. </UserControl>