GPIOPageView.xaml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <UserControl
  2. x:Class="ShakerManger.View.GPIOPageView"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:hc="https://handyorg.github.io/handycontrol"
  7. xmlns:local="clr-namespace:ShakerManger.View"
  8. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  9. xmlns:vm="clr-namespace:ShakerManger.ViewModel"
  10. d:DataContext="{d:DesignInstance {x:Type vm:GPIOControlViewModel}}"
  11. d:DesignHeight="450"
  12. d:DesignWidth="800"
  13. DataContext="{Binding GPIOControl}"
  14. FontSize="14"
  15. mc:Ignorable="d">
  16. <Grid
  17. Width="420"
  18. HorizontalAlignment="Center"
  19. VerticalAlignment="Top">
  20. <Grid.RowDefinitions>
  21. <RowDefinition />
  22. <RowDefinition Height="66" />
  23. </Grid.RowDefinitions>
  24. <StackPanel
  25. HorizontalAlignment="Center"
  26. VerticalAlignment="Top"
  27. Orientation="Vertical">
  28. <StackPanel Height="66" Orientation="Horizontal">
  29. <TextBlock VerticalAlignment="Center" Text="扫描周期:" />
  30. <hc:NumericUpDown
  31. Width="220"
  32. Height="36"
  33. Margin="4,0,0,0"
  34. Background="Transparent"
  35. FontFamily="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=FontFamily}"
  36. FontSize="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=FontSize}"
  37. Foreground="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=Foreground}"
  38. Increment="1"
  39. Minimum="10"
  40. Value="{Binding LoopTime}" />
  41. <TextBlock
  42. Margin="4,0,0,0"
  43. VerticalAlignment="Center"
  44. Text="ms" />
  45. </StackPanel>
  46. <StackPanel Height="66" Orientation="Horizontal">
  47. <TextBlock VerticalAlignment="Center" Text="GPIO端口:" />
  48. <ComboBox
  49. Width="220"
  50. Height="36"
  51. Margin="4,0,0,0"
  52. Background="Transparent"
  53. DisplayMemberPath="Key"
  54. FontFamily="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=FontFamily}"
  55. FontSize="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=FontSize}"
  56. Foreground="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=Foreground}"
  57. ItemsSource="{Binding Pins, Mode=OneTime}"
  58. SelectedValue="{Binding PinIndex}"
  59. SelectedValuePath="Value"
  60. Style="{StaticResource ComboBoxStyle1}" />
  61. </StackPanel>
  62. <StackPanel Height="66" Orientation="Horizontal">
  63. <TextBlock VerticalAlignment="Center" Text="电平状态:" />
  64. <Grid
  65. Width="36"
  66. Height="36"
  67. Margin="4,0,0,0">
  68. <Ellipse
  69. Width="36"
  70. Height="36"
  71. StrokeThickness="1">
  72. <Ellipse.Style>
  73. <Style TargetType="Ellipse">
  74. <Style.Triggers>
  75. <DataTrigger Binding="{Binding Path=Level}" Value="True">
  76. <Setter Property="Stroke" Value="Red" />
  77. </DataTrigger>
  78. <DataTrigger Binding="{Binding Path=Level}" Value="False">
  79. <Setter Property="Stroke" Value="Green" />
  80. </DataTrigger>
  81. </Style.Triggers>
  82. </Style>
  83. </Ellipse.Style>
  84. </Ellipse>
  85. <Ellipse
  86. Width="32"
  87. Height="32"
  88. Fill="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Grid}, Path=Children[0].Stroke}" />
  89. </Grid>
  90. <TextBlock Margin="4,0,0,0" VerticalAlignment="Center">
  91. <TextBlock.Style>
  92. <Style TargetType="TextBlock">
  93. <Style.Triggers>
  94. <DataTrigger Binding="{Binding Path=Level}" Value="True">
  95. <Setter Property="Text" Value="高电平" />
  96. </DataTrigger>
  97. <DataTrigger Binding="{Binding Path=Level}" Value="False">
  98. <Setter Property="Text" Value="低电平" />
  99. </DataTrigger>
  100. </Style.Triggers>
  101. </Style>
  102. </TextBlock.Style>
  103. </TextBlock>
  104. </StackPanel>
  105. </StackPanel>
  106. <Button
  107. Grid.Row="1"
  108. Width="122"
  109. Height="36"
  110. HorizontalAlignment="Center"
  111. VerticalAlignment="Center"
  112. Command="{Binding SaveCommand}"
  113. Content="确认"
  114. FontSize="16" />
  115. </Grid>
  116. </UserControl>