GlobalVarEditorView.xaml 6.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <UserControl x:Class="TeamAAS.Views.GlobalVarEditorView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:loc="clr-namespace:TeamAAS.Localization"
  5. MinWidth="760" MinHeight="440">
  6. <Grid Margin="12">
  7. <Grid.RowDefinitions>
  8. <RowDefinition Height="Auto"/>
  9. <RowDefinition Height="*"/>
  10. </Grid.RowDefinitions>
  11. <!-- 工具栏:按类型添加 + 上移/下移/删除 -->
  12. <Border Grid.Row="0" Background="{DynamicResource SecondaryRegionBrush}"
  13. CornerRadius="8" Padding="12,8" Margin="0,0,0,8">
  14. <Grid>
  15. <Grid.ColumnDefinitions>
  16. <ColumnDefinition Width="*"/>
  17. <ColumnDefinition Width="Auto"/>
  18. </Grid.ColumnDefinitions>
  19. <WrapPanel Grid.Column="0" Orientation="Horizontal">
  20. <TextBlock Text="{loc:Translate '添加变量:'}" FontSize="13" VerticalAlignment="Center" Margin="0,0,8,4"/>
  21. <Button Content="short" Command="{Binding AddCommand}" CommandParameter="short" Style="{StaticResource ButtonPrimary}" Padding="12,4" Margin="0,0,4,4" FontSize="12"/>
  22. <Button Content="int" Command="{Binding AddCommand}" CommandParameter="int" Style="{StaticResource ButtonPrimary}" Padding="12,4" Margin="0,0,4,4" FontSize="12"/>
  23. <Button Content="double" Command="{Binding AddCommand}" CommandParameter="double" Style="{StaticResource ButtonPrimary}" Padding="12,4" Margin="0,0,4,4" FontSize="12"/>
  24. <Button Content="string" Command="{Binding AddCommand}" CommandParameter="string" Style="{StaticResource ButtonPrimary}" Padding="12,4" Margin="0,0,4,4" FontSize="12"/>
  25. <Button Content="bool" Command="{Binding AddCommand}" CommandParameter="bool" Style="{StaticResource ButtonPrimary}" Padding="12,4" Margin="0,0,4,4" FontSize="12"/>
  26. <Button Content="object" Command="{Binding AddCommand}" CommandParameter="object" Style="{StaticResource ButtonPrimary}" Padding="12,4" Margin="0,0,4,4" FontSize="12"
  27. ToolTip="{loc:Translate '任意类型:可由插件/通讯/流程代码写入任何对象(图像、集合、自定义类型)'}"/>
  28. <Button Content="short[]" Command="{Binding AddCommand}" CommandParameter="short[]" Style="{StaticResource ButtonPrimary}" Padding="12,4" Margin="0,0,4,4" FontSize="12"/>
  29. <Button Content="int[]" Command="{Binding AddCommand}" CommandParameter="int[]" Style="{StaticResource ButtonPrimary}" Padding="12,4" Margin="0,0,4,4" FontSize="12"/>
  30. <Button Content="double[]" Command="{Binding AddCommand}" CommandParameter="double[]" Style="{StaticResource ButtonPrimary}" Padding="12,4" Margin="0,0,4,4" FontSize="12"/>
  31. <Button Content="string[]" Command="{Binding AddCommand}" CommandParameter="string[]" Style="{StaticResource ButtonPrimary}" Padding="12,4" Margin="0,0,4,4" FontSize="12"/>
  32. <Button Content="bool[]" Command="{Binding AddCommand}" CommandParameter="bool[]" Style="{StaticResource ButtonPrimary}" Padding="12,4" Margin="0,0,4,4" FontSize="12"/>
  33. </WrapPanel>
  34. <StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Top">
  35. <Button Content="{loc:Translate '⬆ 上移'}" Command="{Binding MoveUpCommand}" Style="{StaticResource ButtonDefault}" Padding="12,4" Margin="0,0,4,0" FontSize="12"/>
  36. <Button Content="{loc:Translate '⬇ 下移'}" Command="{Binding MoveDownCommand}" Style="{StaticResource ButtonDefault}" Padding="12,4" Margin="0,0,4,0" FontSize="12"/>
  37. <Button Content="{loc:Translate '🗑 删除'}" Command="{Binding DeleteCommand}" Style="{StaticResource ButtonDanger}" Padding="12,4" FontSize="12"/>
  38. </StackPanel>
  39. </Grid>
  40. </Border>
  41. <!-- 变量列表 -->
  42. <Border Grid.Row="1" Background="{DynamicResource RegionBrush}" CornerRadius="8">
  43. <DataGrid ItemsSource="{Binding Items}"
  44. SelectedItem="{Binding Selected}"
  45. AutoGenerateColumns="False" CanUserAddRows="False"
  46. HeadersVisibility="All" GridLinesVisibility="Horizontal"
  47. AlternatingRowBackground="{DynamicResource SecondaryRegionBrush}"
  48. Margin="8">
  49. <DataGrid.Columns>
  50. <DataGridTextColumn Header="{loc:Translate '索引'}" Binding="{Binding Index}" Width="60" IsReadOnly="True"/>
  51. <DataGridTextColumn Header="{loc:Translate '名称'}" Binding="{Binding Name}" Width="150"/>
  52. <DataGridTemplateColumn Header="{loc:Translate '类型'}" Width="120">
  53. <DataGridTemplateColumn.CellTemplate>
  54. <DataTemplate>
  55. <TextBlock Text="{Binding DataType}" VerticalAlignment="Center" Margin="4,0"/>
  56. </DataTemplate>
  57. </DataGridTemplateColumn.CellTemplate>
  58. <DataGridTemplateColumn.CellEditingTemplate>
  59. <DataTemplate>
  60. <ComboBox ItemsSource="{Binding DataContext.VarTypes, RelativeSource={RelativeSource AncestorType=UserControl}}"
  61. SelectedItem="{Binding DataType, UpdateSourceTrigger=PropertyChanged}"/>
  62. </DataTemplate>
  63. </DataGridTemplateColumn.CellEditingTemplate>
  64. </DataGridTemplateColumn>
  65. <DataGridTextColumn Header="{loc:Translate '值'}" Binding="{Binding Text}" Width="150"/>
  66. <DataGridTextColumn Header="{loc:Translate '显示值'}" Binding="{Binding DisplayValue}" Width="200" IsReadOnly="True"/>
  67. <DataGridTextColumn Header="{loc:Translate '注释'}" Binding="{Binding Note}" Width="*"/>
  68. </DataGrid.Columns>
  69. </DataGrid>
  70. </Border>
  71. </Grid>
  72. </UserControl>