twe*_*sat 3 c# wpf xaml listbox
第一步:一个简单的ListBox
<ListBox Height="95" HorizontalAlignment="Left" Margin="17,0,0,0" Name="myList" VerticalAlignment="Top" Width="287">
Run Code Online (Sandbox Code Playgroud)
用那个代码:
myList.Items.Add("toto");
Run Code Online (Sandbox Code Playgroud)
好的,它工作正常.
第二步:我希望每行有两列.
所以我试过了
<ListBoxItem Name="my_item">
<StackPanel Orientation="Horizontal">
<TextBlock Name="my_item_id"></TextBlock>
<TextBlock Name="my_item_name"></TextBlock>
</StackPanel>
</ListBoxItem>
Run Code Online (Sandbox Code Playgroud)
但在我的代码中?
我试过了
my_item_id = "1234";
my_item_name = "toto";
myList.Items.Add(my_item);
Run Code Online (Sandbox Code Playgroud)
但它不起作用......我想我做错了但是如何使它工作?
谢谢.
您应该分配ItemTemplate给ListBox其结合到性能上的项目.例如
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Id}"/>
<!-- ... -->
Run Code Online (Sandbox Code Playgroud)您添加具有这些属性的项目,例如匿名对象:
myList.Items.Add(new { Id = "Lorem", ... });
Run Code Online (Sandbox Code Playgroud)另请参见:数据模板