我对 DataBinding 的理解仍处于“研究它”的水平,所以这是我的问题。我有这个数据:
private class User
{
public string username { get; set; }
public string real_name { get; set; }
}
ObservableCollection<User> users = new ObservableCollection<User>();
...adds stuff...
CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(users);
我希望它显示在两列 ListBox 中。我通过执行以下操作进入了两列 ComboBox:
<ComboBox Height="23" HorizontalAlignment="Left" Margin="114,23,0,0" Name="comboBox_client" VerticalAlignment="Top" Width="113" IsEditable="True" ItemsSource="{Binding}" >
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding username}" Name="left" Width="50" />
<TextBlock Text="{Binding real_name}" Name="right" Width="100" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
和
comboBox_client.ItemsSource = view;
但我不确定如何跨步到 ListBox,因为我看不到 ItemTemplate,而且我不理解上述 Xaml 实际在做什么背后的概念。如果我取出 ItemTemplate 部分并在 ListBox 上尝试其余部分,我只是一个充满 System.Windows.DataTemplate 的列表框。
请指出正确的方向?