我的目标是在带有 Datatemplate 和两个 TextBlocks 的 ListBox 中显示:用户消息文本和用户名。
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding MessageText}"/>
<TextBlock Text="{Binding UserName}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
我有两个单独的类从 json 响应生成并解析为列表:
Message
{
int MessageID;
string MessageText;
int UserID;
}
User
{
int UserID;
string UserName;
}
List<Message> Messages;
List<User> Users;
如何在类中的用户消息旁边的UserName
类中绑定 xaml ?两个类都有相同的。User
Message
UserId
当然,最简单的方法是UserName
在Message
类中创建附加属性,然后将UserName
属性从 User 类传递到Message
然后绑定它,但这似乎是重复性任务和不好的做法。
想到的一种解决方案是使用某种值转换器,然后传递其他参数,例如UserId
和用户列表,但这似乎有点骇人听闻。所以我想知道是否有某种 linq、sql 风格的实现来获得我想要的结果?