TcpClient.xaml 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. <UserControl x:Class="YSAI.Tool.Wpf.views.TcpClient"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:YSAI.Tool.Wpf.views"
  7. xmlns:lang="http://wpflocalizeextension.codeplex.com"
  8. lang:LocalizeDictionary.DesignCulture="zh"
  9. lang:ResxLocalizationProvider.DefaultAssembly="YSAI.Langs"
  10. lang:ResxLocalizationProvider.DefaultDictionary="Lang"
  11. xmlns:c="clr-namespace:YSAI.Tool.Wpf.controllers"
  12. xmlns:btn="clr-namespace:YSAI.Core.Wpf.controls.button;assembly=YSAI.Core.Wpf"
  13. xmlns:pt="http://propertytools.org/wpf"
  14. xmlns:helpers="clr-namespace:YSAI.Core.Wpf.style;assembly=YSAI.Core.Wpf"
  15. xmlns:cs="clr-namespace:YSAI.Core.Wpf.converters;assembly=YSAI.Core.Wpf"
  16. xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
  17. xmlns:mvvm="clr-namespace:YSAI.Core.Wpf.mvvm;assembly=YSAI.Core.Wpf"
  18. Background="{DynamicResource ContentBackgroundPicture}">
  19. <UserControl.DataContext>
  20. <c:TcpClientController />
  21. </UserControl.DataContext>
  22. <!--资源加载-->
  23. <UserControl.Resources>
  24. <ResourceDictionary>
  25. <Style TargetType="ToolTip">
  26. <Setter Property="Foreground" Value="{DynamicResource Font.Content.Foreground}"/>
  27. <Setter Property="BorderBrush" Value="{DynamicResource Control.Border.Color}"/>
  28. </Style>
  29. <cs:CheckConverter x:Key="CheckConverter" />
  30. <ResourceDictionary.MergedDictionaries>
  31. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_ComboBox.xaml" />
  32. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_Button.xaml" />
  33. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_DataGrid.xaml" />
  34. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_Border.xaml" />
  35. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_TbaControl.xaml" />
  36. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_ScrollViewer.xaml" />
  37. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_GroupBox.xaml" />
  38. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_TextBox.xaml" />
  39. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_TreeDataGrid.xaml" />
  40. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_CheckBox.xaml" />
  41. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_RadioButton.xaml" />
  42. <ResourceDictionary Source="pack://application:,,,/YSAI.Core.Wpf;component/resources/style/Style_ContextMenu.xaml" />
  43. </ResourceDictionary.MergedDictionaries>
  44. </ResourceDictionary>
  45. </UserControl.Resources>
  46. <Border Background="#F0F2F0" Width="auto" Height="auto" CornerRadius="{DynamicResource WindowCornerRadius}" Margin="50">
  47. <GroupBox Style="{StaticResource GroupBoxTab}" Margin="0" >
  48. <GroupBox.Header>
  49. <StackPanel Orientation="Horizontal">
  50. <Grid Background="Transparent">
  51. <Grid.ColumnDefinitions>
  52. <ColumnDefinition Width="auto" />
  53. <ColumnDefinition Width="*" />
  54. </Grid.ColumnDefinitions>
  55. <Image Grid.Column="0" Margin="10,0,8,0" Source="{DynamicResource Tool}" Width="14" />
  56. <TextBlock Text="{Binding ToolTitle}" FontSize="13" Grid.Column="1" Foreground="{DynamicResource Font.Content.Foreground}" />
  57. </Grid>
  58. </StackPanel>
  59. </GroupBox.Header>
  60. <!--基础数据与功能区域-->
  61. <Grid >
  62. <Grid.ColumnDefinitions>
  63. <ColumnDefinition Width="auto"/>
  64. <ColumnDefinition Width="*"/>
  65. </Grid.ColumnDefinitions>
  66. <!--基础数据-->
  67. <Grid Grid.Column="0" Margin="0,0,5,0" Width="500">
  68. <Grid.RowDefinitions>
  69. <RowDefinition Height="auto"/>
  70. <RowDefinition Height="auto"/>
  71. </Grid.RowDefinitions>
  72. <!--导入导出-->
  73. <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,0,-30" Panel.ZIndex="2">
  74. <btn:ButtonControl
  75. Width="80"
  76. Command="{Binding IncBasics}"
  77. HorizontalAlignment="Center"
  78. VerticalAlignment="Center"
  79. IsMouseOverBorderBrushColor="{DynamicResource Control.Border.One.Color}"
  80. BorderBrush="{DynamicResource Control.Border.Color}"
  81. IsPressedBorderBrushColor="{DynamicResource Control.Border.Two.Color}"
  82. Foreground="{DynamicResource Font.Content.Foreground}"
  83. Icon="{DynamicResource Inc}"
  84. Content="导入"
  85. BorderThickness="1,0,0,0" />
  86. <btn:ButtonControl
  87. Width="80"
  88. Command="{Binding ExpBasics}"
  89. HorizontalAlignment="Center"
  90. VerticalAlignment="Center"
  91. IsMouseOverBorderBrushColor="{DynamicResource Control.Border.One.Color}"
  92. BorderBrush="{DynamicResource Control.Border.Color}"
  93. IsPressedBorderBrushColor="{DynamicResource Control.Border.Two.Color}"
  94. Foreground="{DynamicResource Font.Content.Foreground}"
  95. Icon="{DynamicResource Exp}"
  96. Content="导出"
  97. BorderThickness="1,0,0,0" />
  98. </StackPanel>
  99. <!--属性表格-->
  100. <Grid Grid.Row="1" Panel.ZIndex="1">
  101. <Grid.Resources>
  102. <ResourceDictionary>
  103. <Style TargetType="{x:Type Label}" >
  104. <Setter Property="Foreground" Value="{DynamicResource Font.Content.Foreground}"/>
  105. <Setter Property="HorizontalAlignment" Value="Left"/>
  106. </Style>
  107. <Style TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DefaultComboBox}" >
  108. <Setter Property="Height" Value="25"/>
  109. <Setter Property="Background" Value="White"/>
  110. <Setter Property="VerticalAlignment" Value="Center"/>
  111. <Setter Property="helpers:Style_ComboBox.CornerRadius" Value="{DynamicResource WindowCornerRadius}"/>
  112. </Style>
  113. <Style TargetType="{x:Type pt:TextBoxEx}" BasedOn="{StaticResource TextBoxStyle2}">
  114. <Setter Property="Height" Value="25"/>
  115. <Setter Property="Foreground" Value="{DynamicResource Font.Content.Foreground}"/>
  116. <Setter Property="BorderBrush" Value="{DynamicResource Control.Border.Color}"/>
  117. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  118. <Setter Property="VerticalContentAlignment" Value="Center"/>
  119. </Style>
  120. <Style TargetType="CheckBox" BasedOn="{StaticResource CheckBoxStyle}"/>
  121. <Style TargetType="ContentControl" >
  122. <Setter Property="Foreground" Value="{DynamicResource Font.Content.Foreground}"/>
  123. </Style>
  124. <Style TargetType="Expander">
  125. <Setter Property="Foreground" Value="{DynamicResource Font.Content.Foreground}"/>
  126. </Style>
  127. <Style TargetType="RadioButton" BasedOn="{StaticResource RadioButtonStyle}"/>
  128. <Style TargetType="GroupBox" BasedOn="{StaticResource GroupBoxTab}"/>
  129. <DataTemplate x:Key="HeaderTemplate">
  130. <StackPanel Orientation="Horizontal">
  131. <Grid>
  132. <Grid.ColumnDefinitions>
  133. <ColumnDefinition Width="auto" />
  134. <ColumnDefinition Width="*" />
  135. </Grid.ColumnDefinitions>
  136. <Image Grid.Column="0" Margin="10,0,8,0" Source="{DynamicResource ConfigBase}" Width="14" />
  137. <TextBlock Text="{Binding}" FontSize="13" Grid.Column="1" Foreground="{DynamicResource Font.Content.Foreground}" />
  138. </Grid>
  139. </StackPanel>
  140. </DataTemplate>
  141. </ResourceDictionary>
  142. </Grid.Resources>
  143. <pt:PropertyGrid Margin="1,-4,1,0"
  144. SelectedObject="{Binding BasicsData}"
  145. TabVisibility="VisibleIfMoreThanOne"
  146. TextBlock.Foreground="{DynamicResource Font.Content.Foreground}"
  147. Foreground="{DynamicResource Font.Content.Foreground}"
  148. BorderBrush="{DynamicResource Control.Border.Color}"
  149. CategoryHeaderTemplate="{StaticResource HeaderTemplate}"/>
  150. </Grid>
  151. </Grid>
  152. <!--功能模块与信息-->
  153. <Grid Grid.Column="1" MinWidth="600">
  154. <Grid.RowDefinitions>
  155. <RowDefinition Height="auto"/>
  156. <RowDefinition Height="*"/>
  157. </Grid.RowDefinitions>
  158. <!--功能模块-->
  159. <GroupBox Style="{StaticResource GroupBoxTab}" Margin="0" Grid.Row="0">
  160. <GroupBox.Header>
  161. <StackPanel Orientation="Horizontal">
  162. <Grid Background="transparent">
  163. <Grid.ColumnDefinitions>
  164. <ColumnDefinition Width="auto" />
  165. <ColumnDefinition Width="*" />
  166. </Grid.ColumnDefinitions>
  167. <Image Grid.Column="0" Margin="10,0,8,0" Source="{DynamicResource Function}" Width="14" />
  168. <TextBlock Text="功能" FontSize="13" Margin="0,0,10,0" Grid.Column="1" Foreground="{DynamicResource Font.Content.Foreground}" />
  169. </Grid>
  170. </StackPanel>
  171. </GroupBox.Header>
  172. <!--■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■-->
  173. <Grid>
  174. <Grid.RowDefinitions>
  175. <RowDefinition Height="auto"/>
  176. <RowDefinition Height="*"/>
  177. </Grid.RowDefinitions>
  178. <!--Start / Stop-->
  179. <Grid Grid.Row="0" Grid.Column="1" Margin="0,-40,0,0">
  180. <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" >
  181. <btn:ButtonControl Grid.Column="5" Width="80" Command="{Binding Start}" HorizontalAlignment="Right" VerticalAlignment="Center" BorderThickness="1,0,0,0"
  182. IsMouseOverBorderBrushColor="{DynamicResource Control.Border.One.Color}"
  183. BorderBrush="{DynamicResource Control.Border.Color}"
  184. IsPressedBorderBrushColor="{DynamicResource Control.Border.Two.Color}"
  185. Foreground="{DynamicResource Font.Content.Foreground}"
  186. Icon="{DynamicResource Open}"
  187. Content="打开"/>
  188. <btn:ButtonControl Grid.Column="6" Width="80" Command="{Binding Stop}" HorizontalAlignment="Right" VerticalAlignment="Center" BorderThickness="1,0,0,0"
  189. IsMouseOverBorderBrushColor="{DynamicResource Control.Border.One.Color}"
  190. BorderBrush="{DynamicResource Control.Border.Color}"
  191. IsPressedBorderBrushColor="{DynamicResource Control.Border.Two.Color}"
  192. Foreground="{DynamicResource Font.Content.Foreground}"
  193. Icon="{DynamicResource CloseBase}"
  194. Content="关闭"/>
  195. </StackPanel>
  196. </Grid>
  197. <!--发送区域-->
  198. <Grid Grid.Row="1" Grid.Column="1">
  199. <Grid.RowDefinitions>
  200. <RowDefinition/>
  201. <RowDefinition/>
  202. </Grid.RowDefinitions>
  203. <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,0,-30">
  204. <RadioButton ToolTip="发送方式" Margin="0,0,15,0" Visibility="{Binding AsciiVisibility}" IsChecked="{Binding DataFormat,Mode=TwoWay,Converter={StaticResource CheckConverter},ConverterParameter=0}" Style="{StaticResource RadioButtonStyle}" Content="ASCII" VerticalAlignment="Center" HorizontalAlignment="Right" />
  205. <RadioButton ToolTip="发送方式" Margin="0,0,15,0" Visibility="{Binding HexVisibility}" IsChecked="{Binding DataFormat,Mode=TwoWay,Converter={StaticResource CheckConverter},ConverterParameter=1}" Style="{StaticResource RadioButtonStyle}" Content="Hex" VerticalAlignment="Center" HorizontalAlignment="Right" />
  206. <btn:ButtonControl Grid.Column="3" Width="80" Command="{Binding Send}" HorizontalAlignment="Right" VerticalAlignment="Center" BorderThickness="1,0,0,0"
  207. IsMouseOverBorderBrushColor="{DynamicResource Control.Border.One.Color}"
  208. BorderBrush="{DynamicResource Control.Border.Color}"
  209. IsPressedBorderBrushColor="{DynamicResource Control.Border.Two.Color}"
  210. Foreground="{DynamicResource Font.Content.Foreground}"
  211. Icon="{DynamicResource Send}"
  212. Content="发送"/>
  213. </StackPanel>
  214. <GroupBox Style="{StaticResource GroupBoxTab}" Grid.Row="1" Grid.ColumnSpan="8" Width="auto" Margin="0,0,0,0">
  215. <GroupBox.Header>
  216. <StackPanel Orientation="Horizontal">
  217. <Grid>
  218. <Grid.ColumnDefinitions>
  219. <ColumnDefinition Width="auto"/>
  220. <ColumnDefinition Width="*"/>
  221. </Grid.ColumnDefinitions>
  222. <Image Grid.Column="0" Margin="10,0,8,0" Source="{DynamicResource Data}" Width="14" />
  223. <TextBlock Text="数据" FontSize="13" Margin="0,0,10,0" Grid.Column="1" Foreground="{DynamicResource Font.Content.Foreground}" VerticalAlignment="Center"/>
  224. </Grid>
  225. </StackPanel>
  226. </GroupBox.Header>
  227. <TextBox Padding="5" Style="{DynamicResource TextBoxStyle2}" Height="230" VerticalContentAlignment="Top" HorizontalContentAlignment="Left" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Visible" Text="{Binding SendData}" />
  228. </GroupBox>
  229. </Grid>
  230. </Grid>
  231. <!--■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■-->
  232. </GroupBox>
  233. <!--信息-->
  234. <GroupBox Style="{StaticResource GroupBoxTab}" Margin="0,5,0,0" Grid.Row="1">
  235. <GroupBox.Header>
  236. <StackPanel Orientation="Horizontal">
  237. <Grid>
  238. <Grid.ColumnDefinitions>
  239. <ColumnDefinition Width="auto"/>
  240. <ColumnDefinition Width="*"/>
  241. </Grid.ColumnDefinitions>
  242. <Image Grid.Column="0" Margin="10,0,8,0" Source="{DynamicResource Info}" Width="14" />
  243. <TextBlock Text="信息" FontSize="13" Margin="0,0,10,0" Grid.Column="1" Foreground="{DynamicResource Font.Content.Foreground}" VerticalAlignment="Center"/>
  244. </Grid>
  245. </StackPanel>
  246. </GroupBox.Header>
  247. <Grid>
  248. <Grid.RowDefinitions>
  249. <RowDefinition Height="auto" />
  250. <RowDefinition />
  251. </Grid.RowDefinitions>
  252. <Grid.ColumnDefinitions>
  253. <ColumnDefinition />
  254. <ColumnDefinition Width="auto" />
  255. </Grid.ColumnDefinitions>
  256. <StackPanel Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Right" Margin="0,-40,0,0">
  257. <RadioButton ToolTip="显示方式" Margin="0,0,15,0" Visibility="{Binding AsciiVisibility}" IsChecked="{Binding InfoFormat,Mode=TwoWay,Converter={StaticResource CheckConverter},ConverterParameter=0}" Style="{StaticResource RadioButtonStyle}" Content="ASCII" VerticalAlignment="Center" HorizontalAlignment="Right" />
  258. <RadioButton ToolTip="显示方式" Margin="0,0,15,0" Visibility="{Binding HexVisibility}" IsChecked="{Binding InfoFormat,Mode=TwoWay,Converter={StaticResource CheckConverter},ConverterParameter=1}" Style="{StaticResource RadioButtonStyle}" Content="Hex" VerticalAlignment="Center" HorizontalAlignment="Right" />
  259. <btn:ButtonControl Width="80" Command="{Binding Clear}" HorizontalAlignment="Right" VerticalAlignment="Center" BorderThickness="1,0,0,0"
  260. IsMouseOverBorderBrushColor="{DynamicResource Control.Border.One.Color}"
  261. BorderBrush="{DynamicResource Control.Border.Color}"
  262. IsPressedBorderBrushColor="{DynamicResource Control.Border.Two.Color}"
  263. Foreground="{DynamicResource Font.Content.Foreground}"
  264. Icon="{DynamicResource Clear}"
  265. Content="清空"/>
  266. </StackPanel>
  267. <TextBox Grid.Row="1" Padding="5" Grid.ColumnSpan="2" Style="{DynamicResource TextBoxStyle2}" FontSize="13" VerticalContentAlignment="Top" HorizontalContentAlignment="Left" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Visible" Text="{Binding Info}" >
  268. <i:Interaction.Triggers>
  269. <i:EventTrigger EventName="TextChanged">
  270. <mvvm:EventCommand Command="{Binding Info_TextChanged}" />
  271. </i:EventTrigger>
  272. </i:Interaction.Triggers>
  273. </TextBox>
  274. </Grid>
  275. </GroupBox>
  276. </Grid>
  277. </Grid>
  278. </GroupBox>
  279. </Border>
  280. </UserControl>