TimeDomainReviewView.axaml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <UserControl
  2. x:Class="ShakerApp.Views.TimeDomainReviewView"
  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="http://oxyplot.org/avalonia"
  8. xmlns:vm="using:ShakerApp.ViewModels"
  9. d:DesignHeight="450"
  10. d:DesignWidth="800"
  11. x:DataType="vm:DataReviewViewModel"
  12. DataContext="{Binding Source={x:Static vm:DataReviewViewModel.Instance}, Path=CurrentDataReview.TimeDomainReview}"
  13. mc:Ignorable="d">
  14. <Grid RowDefinitions="42,*">
  15. <UniformGrid
  16. Grid.Row="0"
  17. Margin="10,0,0,0"
  18. Rows="1">
  19. <TextBlock VerticalAlignment="Center">
  20. <Run Text="{DynamicResource SampleRate}" />
  21. <Run Text=":" />
  22. <Run Text="{Binding SampleRate}" />
  23. </TextBlock>
  24. <TextBlock VerticalAlignment="Center">
  25. <Run Text="{DynamicResource TotalFrame}" />
  26. <Run Text=":" />
  27. <Run Text="{Binding TotalPages}" />
  28. </TextBlock>
  29. <StackPanel Orientation="Horizontal">
  30. <TextBlock VerticalAlignment="Center">
  31. <Run Text="{DynamicResource StartFrame}" />
  32. <Run Text=":" />
  33. </TextBlock>
  34. <NumericUpDown
  35. MinWidth="80"
  36. Margin="4,0,0,0"
  37. Increment="1"
  38. Maximum="{Binding MaxPageIndex}"
  39. Minimum="{Binding MinPageIndex}"
  40. Value="{Binding PageIndex}" />
  41. </StackPanel>
  42. <StackPanel Orientation="Horizontal">
  43. <TextBlock VerticalAlignment="Center">
  44. <Run Text="{DynamicResource ReadFrame}" />
  45. <Run Text=":" />
  46. </TextBlock>
  47. <NumericUpDown
  48. MinWidth="80"
  49. Margin="4,0,0,0"
  50. Increment="1"
  51. Maximum="{Binding MaxReadPages}"
  52. Minimum="{Binding MinReadPages}"
  53. Value="{Binding ReadPages}" />
  54. </StackPanel>
  55. </UniformGrid>
  56. <oxy:PlotView
  57. Grid.Row="1"
  58. Background="Transparent"
  59. Model="{Binding PlotModel}">
  60. <oxy:PlotView.DefaultTrackerTemplate>
  61. <ControlTemplate>
  62. <oxy:TrackerControl
  63. Background="#6F999999"
  64. BorderBrush="Transparent"
  65. CornerRadius="6"
  66. HorizontalLineVisibility="False"
  67. LineExtents="{Binding PlotModel.PlotArea}"
  68. LineStroke="Gray"
  69. Position="{Binding Position}"
  70. ShowPointer="True"
  71. VerticalLineVisibility="True">
  72. <oxy:TrackerControl.Content>
  73. <StackPanel Margin="10">
  74. <TextBlock Text="{DynamicResource Value}" />
  75. <TextBlock>
  76. <Run Text="{Binding XAxis.Title}" />
  77. <Run Text=":" />
  78. <Run Text="{Binding TrackerDatas[0].DataPoint.X, StringFormat='{}{0:F2}'}" />
  79. <Run Text="{Binding XAxis.Unit}" />
  80. </TextBlock>
  81. <ItemsControl ItemsSource="{Binding TrackerDatas}">
  82. <ItemsControl.ItemTemplate>
  83. <DataTemplate>
  84. <TextBlock IsVisible="{Binding Series.IsVisible}">
  85. <Run Text="{Binding Series.Title}" />
  86. <Run Text=":" />
  87. <Run Text="{Binding DataPoint.Y, StringFormat='{}{0:F4}'}" />
  88. <Run Text="{Binding Series.Tag}" />
  89. </TextBlock>
  90. </DataTemplate>
  91. </ItemsControl.ItemTemplate>
  92. </ItemsControl>
  93. </StackPanel>
  94. </oxy:TrackerControl.Content>
  95. </oxy:TrackerControl>
  96. </ControlTemplate>
  97. </oxy:PlotView.DefaultTrackerTemplate>
  98. </oxy:PlotView>
  99. <Button
  100. Grid.Row="1"
  101. Margin="0,0,16,56"
  102. HorizontalAlignment="Right"
  103. VerticalAlignment="Bottom"
  104. Classes="Basic"
  105. Cursor="Hand">
  106. <Interaction.Behaviors>
  107. <EventTriggerBehavior EventName="Click">
  108. <InvokeCommandAction Command="{Binding Source={x:Static vm:PlotConfigViewModel.Instance}, Path=PlotConfigCommand}" CommandParameter="{Binding PlotModel}" />
  109. </EventTriggerBehavior>
  110. </Interaction.Behaviors>
  111. <PathIcon Background="Transparent" Data="{StaticResource SettingGeometry}">
  112. <PathIcon.Styles>
  113. <Style Selector="PathIcon:pointerover">
  114. <Setter Property="Foreground" Value="Black" />
  115. </Style>
  116. <Style Selector="PathIcon">
  117. <Setter Property="Foreground" Value="#AAAAAAAA" />
  118. </Style>
  119. </PathIcon.Styles>
  120. </PathIcon>
  121. </Button>
  122. </Grid>
  123. </UserControl>