它很复杂,因为我正在通过UserX对象进行复制列表。 我有用户列表,我想在表格中显示它们。 我需要在Role列中,comboBox的默认值将是用户的当前角色,我需要选择通过使用ComboBox来更改此角色,我不知道如何(可能的角色是:管理员,经理和雇员)
谢谢你的帮助。这是代码:
XAML
<DataGrid FontSize="20" Name="dgUsers" ItemsSource="{Binding list}" AutoGenerateColumns="False" ScrollViewer.VerticalScrollBarVisibility="Visible">
<DataGrid.Columns>
<DataGridTextColumn Header="#" Binding="{Binding Id}" />
<DataGridTextColumn Header="Username" Binding="{Binding Username}" />
<DataGridTextColumn Header="Password" Binding="{Binding Password}" />
<DataGridComboBoxColumn Header="Role" ItemsSource="{Binding Role}" />
<DataGridTemplateColumn Header="Remove">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="ButtonRemove" Content="Remove User"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
CS
List<User> users = user.getUsersList();
List<Userx> updated = new List<Userx>();
//coping from the list users to list updated. I did it to gete the binding
for (int i = 0; i < users.Count; i++)
updated.Add(new Userx() { Id = i + 1, Username = users.ElementAt(i).getUsername(),
Password = users.ElementAt(i).GetPassword(),
Role = users.ElementAt(i).getRole() });
dgUsers.ItemsSource = updated;
}
答案 0 :(得分:0)
你可以试试下面的代码吗?要 ComboBoxSelectedItem 属性,请添加当前角色。
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<DataGrid FontSize="20" Name="dgUsers" ItemsSource="{Binding list}" AutoGenerateColumns="False" ScrollViewer.VerticalScrollBarVisibility="Visible">
<DataGrid.Columns>
<DataGridTextColumn Header="#" Binding="{Binding Id}" />
<DataGridTextColumn Header="Username" Binding="{Binding Username}" />
<DataGridTextColumn Header="Password" Binding="{Binding Password}" />
<DataGridComboBoxColumn Header="Role" ItemsSource="{Binding Role}" SelectedItemBinding="{Binding ComboBoxSelectedItem}" />
<DataGridTemplateColumn Header="Remove">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="ButtonRemove" Content="Remove User"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>