【发布时间】:2013-09-04 15:38:36
【问题描述】:
我有一种情况,下面的课程会解释
public class UserDetail
{
public string UserCode{get; set;}
public uint RoleId{get; set;}
public uint GroupId{get; set;}
}
和类
public class UserRoleDetail
{
public uint RoleId{get; set;}
public string RoleName{get; set;}
}
我有一个数据网格并将数据上下文绑定到 UserDetail 对象的集合。
<DataGrid x:Name="usersgrid"
AlternatingRowBackground="LightBlue"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserReorderColumns="True"
ItemsSource="{Binding}"
CanUserResizeColumns="True"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="User Code"
Binding="{Binding Path=UserCode}"/>
<DataGridTextColumn Header="Role"
Binding="{Binding Path=RoleId}">
<!-- Need to get the RoleName by looking up RoleDetails collection-->
</DataGridTextColumn>
<DataGridTextColumn Header="Group"
Binding="{Binding Path=GroupId}"/>
</DataGrid.Columns>
</DataGrid>
输出显示 UserDetail 类中的整数 RoleId 字段。我想通过在后面的代码中查找 RoleDetails 集合中的 RoleId 将其显示为 RoleName。
有什么方法可以让我在 xaml 本身中实现这一点。关于使用转换器的任何说明??
提前致谢。
【问题讨论】:
-
你在哪里保存 UserRoleDetail 集合?在视图模型上?
-
实际上这些对象来自数据层,并且由于规范化,角色详细信息被隔离到另一个类,UserRoleDetail。我将 UserDetails 和 UserRoleDetails 作为单独的集合。它在后面的代码中可用。 UserRoleDetailsCollection 变量。