RoleView.xaml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <UserControl x:Class="CyberX8_MainPages.Views.RoleView"
  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:CyberX8_MainPages.Views"
  7. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  8. xmlns:prism="http://prismlibrary.com/"
  9. xmlns:customControls="clr-namespace:CyberX8_Themes.CustomControls;assembly=CyberX8_Themes"
  10. xmlns:unity="clr-namespace:CyberX8_MainPages.Unity"
  11. xmlns:Converters="clr-namespace:CyberX8_Themes.Converters;assembly=CyberX8_Themes"
  12. prism:ViewModelLocator.AutoWireViewModel="True"
  13. mc:Ignorable="d" x:Name="self"
  14. d:DesignHeight="1000" d:DesignWidth="1920">
  15. <UserControl.Resources>
  16. <Converters:MenusToVisibility x:Key="menusToVisibility"/>
  17. <Converters:MenusToCount x:Key="menusToCount"/>
  18. <Converters:MenusToColor x:Key="menusToColor"/>
  19. </UserControl.Resources>
  20. <Canvas>
  21. <GroupBox Header="Permission Setting" FontSize="14" Height="760" Canvas.Left="180" Canvas.Top="30" HorizontalAlignment="Center" VerticalAlignment="Top" Width="590">
  22. <Grid>
  23. <Grid.RowDefinitions>
  24. <RowDefinition Height="118"/>
  25. <RowDefinition />
  26. </Grid.RowDefinitions>
  27. <Grid.ColumnDefinitions>
  28. <ColumnDefinition Width="1*"/>
  29. <ColumnDefinition Width="1.7*"/>
  30. <ColumnDefinition Width="1*"/>
  31. </Grid.ColumnDefinitions>
  32. <StackPanel Grid.Row="0" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="142" Margin="15,20,0,0">
  33. <RadioButton Content="Manager" x:Name="rb1" IsChecked="True" FontSize="19" FontWeight="Bold" Margin="0,0,0,3" VerticalContentAlignment="Center">
  34. <i:Interaction.Triggers>
  35. <i:EventTrigger EventName="Checked">
  36. <i:InvokeCommandAction Command="{Binding ChangeRoleCommand}" CommandParameter="{Binding ElementName=rb1,Path=Content}"/>
  37. </i:EventTrigger>
  38. </i:Interaction.Triggers>
  39. </RadioButton>
  40. <RadioButton Content="Engineer" x:Name="rb2" FontSize="19" FontWeight="Bold" Margin="0,0,0,3" VerticalContentAlignment="Center">
  41. <i:Interaction.Triggers>
  42. <i:EventTrigger EventName="Checked">
  43. <i:InvokeCommandAction Command="{Binding ChangeRoleCommand}" CommandParameter="{Binding ElementName=rb2,Path=Content}"/>
  44. </i:EventTrigger>
  45. </i:Interaction.Triggers>
  46. </RadioButton>
  47. <RadioButton Content="Technician" x:Name="rb3" FontSize="19" FontWeight="Bold" Margin="0,0,0,3" VerticalContentAlignment="Center">
  48. <i:Interaction.Triggers>
  49. <i:EventTrigger EventName="Checked">
  50. <i:InvokeCommandAction Command="{Binding ChangeRoleCommand}" CommandParameter="{Binding ElementName=rb3,Path=Content}"/>
  51. </i:EventTrigger>
  52. </i:Interaction.Triggers>
  53. </RadioButton>
  54. <RadioButton Content="Operator" x:Name="rb4" FontSize="19" FontWeight="Bold" VerticalContentAlignment="Center">
  55. <i:Interaction.Triggers>
  56. <i:EventTrigger EventName="Checked">
  57. <i:InvokeCommandAction Command="{Binding ChangeRoleCommand}" CommandParameter="{Binding ElementName=rb4,Path=Content}"/>
  58. </i:EventTrigger>
  59. </i:Interaction.Triggers>
  60. </RadioButton>
  61. </StackPanel>
  62. <Grid Grid.Column="1">
  63. <Grid.RowDefinitions>
  64. <RowDefinition/>
  65. <RowDefinition/>
  66. </Grid.RowDefinitions>
  67. <StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="35,20,0,0">
  68. <TextBlock Text="IsLock" FontSize="20" />
  69. <CheckBox IsChecked="{Binding CurrentRoleDefine.IsLocked}" VerticalAlignment="Center" Margin="20,0,0,0"/>
  70. </StackPanel>
  71. <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="35,0,0,0">
  72. <TextBlock Text="LockTime:" FontSize="20"/>
  73. <TextBox Width="72" FontSize="20" Background="White" HorizontalContentAlignment="Center" Text="{Binding CurrentRoleDefine.LockTime}" Margin="7,0,7,0"/>
  74. <TextBlock Text="(s)" FontSize="20"/>
  75. </StackPanel>
  76. </Grid>
  77. <Button Grid.Column="2" Content="Save" Width="120" Height="36" Command="{Binding SaveCommand}" FontSize="18" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  78. <Border Grid.ColumnSpan="3" Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="550" Height="600" Canvas.Left="195" Canvas.Top="170" HorizontalAlignment="Center" VerticalAlignment="Center">
  79. <Grid>
  80. <Grid.RowDefinitions>
  81. <RowDefinition Height="0.5*"/>
  82. <RowDefinition Height="9*"/>
  83. </Grid.RowDefinitions>
  84. <Grid unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="Black" Background="{DynamicResource Table_BG_Title}" unity:GridOptions.LineThickness="1" Margin="-1,-1,-1,0">
  85. <Grid.ColumnDefinitions>
  86. <ColumnDefinition Width="1.5*"/>
  87. <ColumnDefinition Width="1.5*"/>
  88. </Grid.ColumnDefinitions>
  89. <TextBlock Text="MenuName" HorizontalAlignment="Center" FontSize="20" VerticalAlignment="Center"/>
  90. <TextBlock Grid.Column="1" Text="Permission" HorizontalAlignment="Center" FontSize="20" VerticalAlignment="Center"/>
  91. </Grid>
  92. <TreeView ItemsSource="{Binding CurrentRoleDefine.Menus}" Grid.Row="1" Width="550" Height="568.4" FontSize="18" HorizontalAlignment="Left" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
  93. <TreeView.ItemContainerStyle>
  94. <Style TargetType="{x:Type TreeViewItem}">
  95. <Setter Property="IsExpanded" Value="False"/>
  96. <Setter Property="FontWeight" Value="Normal" />
  97. </Style>
  98. </TreeView.ItemContainerStyle>
  99. <TreeView.ItemTemplate>
  100. <HierarchicalDataTemplate ItemsSource="{Binding Menus}">
  101. <Border Width="400" Height="40" >
  102. <Grid>
  103. <Grid.ColumnDefinitions>
  104. <ColumnDefinition Width="2*"/>
  105. <ColumnDefinition Width="1.5*"/>
  106. </Grid.ColumnDefinitions>
  107. <StackPanel Orientation="Horizontal">
  108. <TextBlock Text="{Binding MenuName}" HorizontalAlignment="Left" Foreground="{Binding Menus, Converter={StaticResource menusToColor}}" VerticalAlignment="Center" />
  109. <!--<TextBlock Text="{Binding Menus,StringFormat=Count:\{0\},Mode=TwoWay,Converter={StaticResource menusToCount}}" HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="Red" Padding="50 0 0 0"/>-->
  110. </StackPanel>
  111. <ComboBox Grid.Column="1" Height="30" Visibility="{Binding Menus,Converter={StaticResource menusToVisibility}}" Width="120" SelectedItem="{Binding Permission,UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource customeComboBoxStyle}" unity:ItemsControlHelper.EnumValuesToItemsSource="True" />
  112. </Grid>
  113. </Border>
  114. </HierarchicalDataTemplate>
  115. </TreeView.ItemTemplate>
  116. </TreeView>
  117. </Grid>
  118. </Border>
  119. </Grid>
  120. </GroupBox>
  121. <GroupBox Header="User Setting" FontSize="14" Height="760" Canvas.Left="992" Canvas.Top="30" HorizontalAlignment="Left" VerticalAlignment="Center" Width="828">
  122. <Grid>
  123. <Grid.ColumnDefinitions>
  124. <ColumnDefinition Width="3*"/>
  125. <ColumnDefinition/>
  126. <ColumnDefinition/>
  127. <ColumnDefinition/>
  128. </Grid.ColumnDefinitions>
  129. <Grid.RowDefinitions>
  130. <RowDefinition Height="118"/>
  131. <RowDefinition/>
  132. </Grid.RowDefinitions>
  133. <Button Content="Add User" Grid.Column="2" Width="120" Height="36" Command="{Binding AddUserCommand}" FontSize="18" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  134. <Button Content="Delete User" Grid.Column="3" Width="120" Height="36" Command="{Binding DeleteUserCommand}" FontSize="18" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  135. <Button Content="Edit User" Grid.Column="1" Width="120" Height="36" Command="{Binding EditUserCommand}" FontSize="18" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  136. </Grid>
  137. </GroupBox>
  138. <DataGrid CanUserDeleteRows="True" RowHeight="25" SelectionMode="Single" MinColumnWidth="27" AutoGenerateColumns="False"
  139. FontSize="20" Height="600" Width="790" BorderThickness="1" Canvas.Left="1010" CanUserAddRows="False" Canvas.Top="170"
  140. SelectedValue="{Binding SelectedUser}" ItemsSource="{Binding Users}" HorizontalAlignment="Left" VerticalAlignment="Top">
  141. <DataGrid.Columns>
  142. <DataGridTextColumn Binding="{Binding No,Mode=OneWay}" FontSize="16" CanUserReorder="False" CanUserSort="True" Header="No." IsReadOnly="True" Width="80"/>
  143. <DataGridTextColumn Binding="{Binding Name,Mode=OneWay}" FontSize="16" CanUserReorder="False" CanUserSort="True" Header="Name" IsReadOnly="True" Width="150"/>
  144. <DataGridTextColumn Binding="{Binding Role,Mode=OneWay}" FontSize="16" CanUserReorder="False" CanUserSort="True" Header="Role" IsReadOnly="True" Width="150"/>
  145. <DataGridTextColumn Binding="{Binding Notes,Mode=OneWay}" FontSize="16" CanUserReorder="False" CanUserSort="True" Header="Notes" IsReadOnly="True" Width="*"/>
  146. </DataGrid.Columns>
  147. </DataGrid>
  148. </Canvas>
  149. </UserControl>