197 lines
10 KiB
XML
197 lines
10 KiB
XML
<UserControl x:Class="DM_Weight.Views.RoleManagerWindow"
|
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:local="clr-namespace:DM_Weight.Views"
|
|
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
|
xmlns:convert="clr-namespace:DM_Weight.Converter"
|
|
xmlns:prism="http://prismlibrary.com/"
|
|
mc:Ignorable="d">
|
|
<UserControl.Resources>
|
|
<Style x:Key="st" TargetType="GridViewColumnHeader">
|
|
<Style.Setters>
|
|
<Setter Property="Height">
|
|
<Setter.Value>55</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Background">
|
|
<Setter.Value>#31ccec</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Foreground">
|
|
<Setter.Value>white</Setter.Value>
|
|
</Setter>
|
|
</Style.Setters>
|
|
</Style>
|
|
</UserControl.Resources>
|
|
<Grid>
|
|
<Grid.Resources>
|
|
<convert:NullableToEnabelConverter x:Key="NullableToEnabelConverter" />
|
|
</Grid.Resources>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid Grid.Column="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
<Grid Margin="0 6 0 6" Grid.Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="180" />
|
|
<ColumnDefinition />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBox
|
|
Grid.Column="0"
|
|
Text="{Binding SearchValue, UpdateSourceTrigger=PropertyChanged}"
|
|
materialDesign:HintAssist.Hint="角色名"
|
|
Margin="6 0 0 0"
|
|
Style="{StaticResource MaterialDesignOutlinedTextBox}"/>
|
|
|
|
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right">
|
|
|
|
<Button
|
|
Margin="0 0 6 0"
|
|
VerticalAlignment="Center"
|
|
Style="{StaticResource MaterialDesignOutlinedLightButton}"
|
|
ToolTip="刷新" Command="{Binding Query}">
|
|
<materialDesign:PackIcon
|
|
Kind="Refresh" />
|
|
</Button>
|
|
</StackPanel>
|
|
</Grid>
|
|
<ListView Grid.Row="1" Grid.Column="0" ItemsSource="{Binding RoleList}"
|
|
SelectedItem="{Binding Role}"
|
|
materialDesign:ListViewAssist.HeaderRowBackground="#31ccec"
|
|
materialDesign:DataGridAssist.ColumnHeaderPadding="10"
|
|
materialDesign:ListViewAssist.ListViewItemPadding="13">
|
|
<!--<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="SelectionChanged">
|
|
<i:InvokeCommandAction Command="{Binding RowSelected}" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>-->
|
|
<ListView.Resources>
|
|
<Style TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource {x:Type GridViewColumnHeader}}">
|
|
<Setter Property="Foreground" Value="White" />
|
|
</Style>
|
|
</ListView.Resources>
|
|
<ListView.View>
|
|
<GridView ColumnHeaderContainerStyle="{StaticResource st}">
|
|
<GridViewColumn Width="253"
|
|
Header="角色编号"
|
|
DisplayMemberBinding="{Binding Id}"/>
|
|
<GridViewColumn Width="253"
|
|
DisplayMemberBinding="{Binding RoleName}"
|
|
Header="角色名"/>
|
|
|
|
</GridView>
|
|
</ListView.View>
|
|
</ListView>
|
|
</Grid>
|
|
<GroupBox Margin="6" Grid.Column="1" Header="编辑/新增" materialDesign:ColorZoneAssist.Mode="PrimaryLight">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
<Grid Grid.Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition />
|
|
<ColumnDefinition />
|
|
</Grid.ColumnDefinitions>
|
|
<TextBox
|
|
Grid.Column="0" Margin="10"
|
|
Text="{Binding Role.RoleName}"
|
|
materialDesign:HintAssist.Hint="角色名"
|
|
Style="{StaticResource MaterialDesignOutlinedTextBox}"/>
|
|
<StackPanel Grid.Column="1" Orientation="Horizontal" Margin="10" HorizontalAlignment="Right" VerticalAlignment="Center">
|
|
<Button
|
|
Margin="6"
|
|
Command="{Binding EditRole}"
|
|
IsEnabled="{Binding Role.Id, Converter={StaticResource NullableToEnabelConverter}}"
|
|
Content="修改" Cursor="Hand" />
|
|
<Button
|
|
Command="{Binding AddRole}"
|
|
Content="新增" />
|
|
</StackPanel>
|
|
</Grid>
|
|
<Grid Grid.Row="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition />
|
|
</Grid.ColumnDefinitions>
|
|
<GroupBox Header="全部菜单" Grid.Column="0" Margin="10">
|
|
<ScrollViewer Grid.Row="1" Grid.Column="1">
|
|
<TreeView x:Name="LeftTree" MinWidth="220" ItemsSource="{Binding AllPremissions}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="SelectedItemChanged">
|
|
<i:InvokeCommandAction Command="{Binding Path=LeftSelectedItemChangedCommand}"
|
|
CommandParameter="{Binding ElementName=LeftTree, Path=SelectedItem}"/>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
<TreeView.ItemTemplate>
|
|
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
|
|
<TextBlock Text="{Binding PremissionName}" />
|
|
</HierarchicalDataTemplate>
|
|
</TreeView.ItemTemplate>
|
|
</TreeView>
|
|
</ScrollViewer>
|
|
</GroupBox>
|
|
<StackPanel Grid.Column="1" Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Button
|
|
Margin="0 4 0 4"
|
|
Style="{StaticResource MaterialDesignPaperLightButton}"
|
|
ToolTip="右移"
|
|
IsEnabled="{Binding LeftPremission, Converter={StaticResource NullableToEnabelConverter}}"
|
|
Command="{Binding ToRight}"
|
|
Content="{materialDesign:PackIcon ChevronRight}"/>
|
|
<Button
|
|
Margin="0 4 0 4"
|
|
Style="{StaticResource MaterialDesignPaperLightButton}"
|
|
ToolTip="左移"
|
|
IsEnabled="{Binding RightPremission, Converter={StaticResource NullableToEnabelConverter}}"
|
|
Command="{Binding ToLeft}"
|
|
Content="{materialDesign:PackIcon ChevronLeft}"/>
|
|
<Button
|
|
Margin="0 4 0 4"
|
|
Style="{StaticResource MaterialDesignPaperLightButton}"
|
|
ToolTip="全部右移"
|
|
Command="{Binding AllToRight}"
|
|
Content="{materialDesign:PackIcon ChevronDoubleRight}"/>
|
|
<Button
|
|
Margin="0 4 0 4"
|
|
Style="{StaticResource MaterialDesignPaperLightButton}"
|
|
ToolTip="全部左移"
|
|
Command="{Binding AllToLeft}"
|
|
Content="{materialDesign:PackIcon ChevronDoubleLeft}" />
|
|
</StackPanel>
|
|
<GroupBox Header="已选菜单" Grid.Column="2" Margin="10">
|
|
<ScrollViewer Grid.Row="1" Grid.Column="1">
|
|
<TreeView x:Name="RightTree" MinWidth="220" ItemsSource="{Binding RightPremissions}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="SelectedItemChanged">
|
|
<i:InvokeCommandAction Command="{Binding Path=RightSelectedItemChangedCommand}"
|
|
CommandParameter="{Binding ElementName=RightTree, Path=SelectedItem}"/>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
<TreeView.ItemTemplate>
|
|
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
|
|
<TextBlock Text="{Binding PremissionName}" />
|
|
</HierarchicalDataTemplate>
|
|
</TreeView.ItemTemplate>
|
|
</TreeView>
|
|
</ScrollViewer>
|
|
</GroupBox>
|
|
<materialDesign:Snackbar
|
|
Background="{Binding SnackbarBackground}"
|
|
MessageQueue="{Binding SnackbarMessageQueue}"/>
|
|
</Grid>
|
|
|
|
</Grid>
|
|
</GroupBox>
|
|
</Grid>
|
|
</UserControl>
|