Files
Store.Management/Source/Store.Management/Views/UserEditorDialog.xaml
T
2026-11-13 15:51:16 +08:00

100 lines
4.8 KiB
XML

<UserControl
x:Class="Store.Management.Views.UserEditorDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:users="clr-namespace:Store.Management.Api.Users;assembly=Store.Management.Api"
xmlns:vm="clr-namespace:Store.Management.ViewModels"
xmlns:wpf="MAX.WPF"
Width="500"
Height="620"
Style="{StaticResource ConfirmDialog}"
mc:Ignorable="d">
<UserControl.Resources>
<BooleanToVisibilityConverter x:Key="ShowWhenTrue" />
<Style BasedOn="{StaticResource {x:Type wpf:TitleContent}}" TargetType="wpf:TitleContent">
<Setter Property="Placement" Value="Left" />
<Setter Property="TitleWidth" Value="80" />
<Setter Property="TitleVerticalAlignment" Value="Center" />
</Style>
</UserControl.Resources>
<ScrollViewer IsEnabled="{Binding EnableConfirm, Mode=OneWay}" VerticalScrollBarVisibility="Auto">
<wpf:SpacingStackPanel Orientation="Vertical" VerticalSpacing="8">
<wpf:TitleContent Title="昵称">
<TextBox MaxLength="{x:Static vm:UserEditorDialogViewModel.NickNameLimit}" Text="{Binding Draft.NickName, UpdateSourceTrigger=PropertyChanged}" />
</wpf:TitleContent>
<wpf:TitleContent Title="手机号">
<TextBox MaxLength="{x:Static vm:UserEditorDialogViewModel.MobileLimit}" Text="{Binding Draft.Mobile, UpdateSourceTrigger=PropertyChanged}" />
</wpf:TitleContent>
<wpf:TitleContent Title="密码">
<PasswordBox
x:Name="NewPassword"
MaxLength="{x:Static vm:UserEditorDialogViewModel.PasswordLimit}"
PasswordChanged="OnPasswordChanged" />
</wpf:TitleContent>
<wpf:TitleContent Title="重复密码">
<PasswordBox
x:Name="Confirmation"
MaxLength="{x:Static vm:UserEditorDialogViewModel.PasswordLimit}"
PasswordChanged="OnPasswordChanged" />
</wpf:TitleContent>
<wpf:TitleContent Title="原密码" Visibility="{Binding ShowOldPassword, Mode=OneWay, Converter={StaticResource ShowWhenTrue}}">
<PasswordBox
x:Name="OldPassword"
MaxLength="{x:Static vm:UserEditorDialogViewModel.PasswordLimit}"
PasswordChanged="OnPasswordChanged"
ToolTip="普通用户修改自己的密码时填写" />
</wpf:TitleContent>
<wpf:TitleContent Title="分组">
<ComboBox
d:ItemsSource="{d:SampleData ItemCount=2}"
DisplayMemberPath="Display"
ItemsSource="{wpf:EnumBindingMarkup EnumType={x:Type users:UserGroup},
Converter={StaticResource EnumDisplayConverter}}"
SelectedValue="{Binding Group, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="Value" />
</wpf:TitleContent>
<wpf:TitleContent Title="父账号" Visibility="{Binding IsCreatingSubUser, Mode=OneWay, Converter={StaticResource ShowWhenTrue}}">
<TextBox MaxLength="{x:Static vm:UserEditorDialogViewModel.UserNameLimit}" Text="{Binding ParentUserName, UpdateSourceTrigger=PropertyChanged}" />
</wpf:TitleContent>
<wpf:TitleContent Title="公司名称">
<TextBox MaxLength="{x:Static vm:UserEditorDialogViewModel.CompanyLimit}" Text="{Binding Draft.CompanyName, UpdateSourceTrigger=PropertyChanged}" />
</wpf:TitleContent>
<wpf:TitleContent Title="代理编码">
<TextBox MaxLength="{x:Static vm:UserEditorDialogViewModel.AgentCodeLimit}" Text="{Binding AgentCode, UpdateSourceTrigger=PropertyChanged}" />
</wpf:TitleContent>
<wpf:TitleContent Title="超管等级">
<ComboBox
d:ItemsSource="{d:SampleData ItemCount=2}"
DisplayMemberPath="Display"
ItemsSource="{wpf:EnumBindingMarkup EnumType={x:Type users:UserAdminLevel},
Converter={StaticResource EnumDisplayConverter}}"
SelectedValue="{Binding Level, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="Value" />
</wpf:TitleContent>
<wpf:TitleContent Title="权限">
<ItemsControl ItemsSource="{Binding Permissions, Mode=OneWay}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="2" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox
Margin="0,2"
Content="{Binding Name, Mode=OneWay}"
IsChecked="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</wpf:TitleContent>
<wpf:TitleContent Title="备注">
<TextBox MaxLength="{x:Static vm:UserEditorDialogViewModel.NotesLimit}" Text="{Binding Draft.Notes, UpdateSourceTrigger=PropertyChanged}" />
</wpf:TitleContent>
<TextBlock Text="新增时使用手机号登录。编辑时密码留空即保留原密码。" TextWrapping="Wrap" />
</wpf:SpacingStackPanel>
</ScrollViewer>
</UserControl>