DeviceMangerView.axaml 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <UserControl
  2. x:Class="ShakerApp.Views.DeviceMangerView"
  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:hc="https://github.com/kikipoulet/SukiUI"
  7. xmlns:local="clr-namespace:ShakerApp"
  8. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  9. xmlns:vm="clr-namespace:ShakerApp.ViewModels"
  10. d:DesignHeight="450"
  11. d:DesignWidth="800"
  12. x:DataType="vm:DeviceMangerViewModel"
  13. DataContext="{Binding Source={x:Static vm:DeviceMangerViewModel.Instance}}"
  14. mc:Ignorable="d">
  15. <Grid>
  16. <Grid.RowDefinitions>
  17. <RowDefinition />
  18. <RowDefinition Height="auto" />
  19. </Grid.RowDefinitions>
  20. <DockPanel
  21. Grid.Row="0"
  22. Grid.RowSpan="2"
  23. Width="{Binding $parent[UserControl].Bounds.Width}"
  24. Height="{Binding $parent[UserControl].Bounds.Height}"
  25. HorizontalAlignment="Center"
  26. VerticalAlignment="Center"
  27. IsVisible="{Binding PopupVisibily}"
  28. ZIndex="-1">
  29. <Grid Background="#7FAAAAAA">
  30. <TextBlock
  31. HorizontalAlignment="Center"
  32. VerticalAlignment="Center"
  33. Text="{Binding Msg}" />
  34. </Grid>
  35. </DockPanel>
  36. <StackPanel Grid.Row="0" IsEnabled="{Binding !PopupVisibily}">
  37. <Grid
  38. Height="{StaticResource ItemHeight}"
  39. Margin="20,4,20,4"
  40. Background="{StaticResource TableTitleBackColor}">
  41. <Grid.ColumnDefinitions>
  42. <ColumnDefinition Width="60" />
  43. <ColumnDefinition Width="*" />
  44. <ColumnDefinition Width="2*" />
  45. <ColumnDefinition Width="*" />
  46. <ColumnDefinition Width="*" />
  47. </Grid.ColumnDefinitions>
  48. <TextBlock
  49. HorizontalAlignment="Center"
  50. VerticalAlignment="Center"
  51. Text="{DynamicResource ServoValveIndex}"
  52. TextWrapping="Wrap" />
  53. <TextBlock
  54. Grid.Column="1"
  55. HorizontalAlignment="Center"
  56. VerticalAlignment="Center"
  57. Text="{DynamicResource DeviceName}"
  58. TextWrapping="Wrap" />
  59. <TextBlock
  60. Grid.Column="2"
  61. HorizontalAlignment="Center"
  62. VerticalAlignment="Center"
  63. Text="{DynamicResource DeviceSN}"
  64. TextWrapping="Wrap" />
  65. <TextBlock
  66. Grid.Column="3"
  67. HorizontalAlignment="Center"
  68. VerticalAlignment="Center"
  69. Text="{DynamicResource DeviceIP}"
  70. TextWrapping="Wrap" />
  71. <TextBlock
  72. Grid.Column="4"
  73. HorizontalAlignment="Center"
  74. VerticalAlignment="Center"
  75. Text="{DynamicResource DevicePort}"
  76. TextWrapping="Wrap" />
  77. </Grid>
  78. <ListBox
  79. VerticalAlignment="Top"
  80. Background="Transparent"
  81. Cursor="Hand"
  82. ItemsSource="{Binding Devices}"
  83. SelectedValue="{Binding Path=CurrentDevice}"
  84. SelectedValueBinding="{Binding Value}"
  85. SelectionMode="Single"
  86. TabIndex="0">
  87. <ListBox.Styles>
  88. <Style Selector="ListBoxItem /template/ PathIcon#CheckSelected">
  89. <Setter Property="IsVisible" Value="False" />
  90. </Style>
  91. </ListBox.Styles>
  92. <ListBox.ItemTemplate>
  93. <DataTemplate>
  94. <Grid Height="{StaticResource ItemHeight}" Margin="0,4,0,4">
  95. <Grid.ColumnDefinitions>
  96. <ColumnDefinition Width="60" />
  97. <ColumnDefinition Width="*" />
  98. <ColumnDefinition Width="2*" />
  99. <ColumnDefinition Width="*" />
  100. <ColumnDefinition Width="*" />
  101. </Grid.ColumnDefinitions>
  102. <TextBlock
  103. HorizontalAlignment="Center"
  104. VerticalAlignment="Center"
  105. IsEnabled="False"
  106. Text="{Binding Index}" />
  107. <TextBlock
  108. Grid.Column="1"
  109. HorizontalAlignment="Center"
  110. VerticalAlignment="Center"
  111. Text="{Binding Value.DeviceName}" />
  112. <TextBlock
  113. Grid.Column="2"
  114. HorizontalAlignment="Center"
  115. VerticalAlignment="Center"
  116. Text="{Binding Value.SN}" />
  117. <TextBlock
  118. Grid.Column="3"
  119. HorizontalAlignment="Center"
  120. VerticalAlignment="Center"
  121. Text="{Binding Value.IP}" />
  122. <TextBlock
  123. Grid.Column="4"
  124. HorizontalAlignment="Center"
  125. VerticalAlignment="Center"
  126. Text="{Binding Value.Port}" />
  127. </Grid>
  128. </DataTemplate>
  129. </ListBox.ItemTemplate>
  130. </ListBox>
  131. </StackPanel>
  132. <Grid
  133. Grid.Row="1"
  134. Margin="0,10,0,10"
  135. IsEnabled="{Binding !PopupVisibily}">
  136. <Grid.ColumnDefinitions>
  137. <ColumnDefinition />
  138. <ColumnDefinition />
  139. </Grid.ColumnDefinitions>
  140. <Button
  141. Width="120"
  142. Height="{StaticResource ItemHeigth}"
  143. Command="{Binding ConnectDeviceCommand}"
  144. Content="{DynamicResource DeviceConnect}"
  145. Cursor="Hand"
  146. IsEnabled="{Binding CurrentDevice, Converter={StaticResource Object2BooleanConverter}}" />
  147. <Button
  148. Grid.Column="1"
  149. Width="120"
  150. Height="{StaticResource ItemHeigth}"
  151. Classes.Enabled="{Binding !SearchEnabled}"
  152. Command="{Binding SearchDeviceCommand}"
  153. IsEnabled="{Binding SearchEnabled}">
  154. <Button.Styles>
  155. <Style Selector="Button">
  156. <Setter Property="Content" Value="{DynamicResource DeviceSearch}" />
  157. </Style>
  158. <Style Selector="Button.Enabled">
  159. <Setter Property="Content" Value="{DynamicResource DeviceSearching}" />
  160. </Style>
  161. </Button.Styles>
  162. </Button>
  163. </Grid>
  164. </Grid>
  165. </UserControl>