如何为列表框中的项目制作数据模板?
我有一个 XML 文件(见下文),可以在列表框中显示所有产品名称。 我希望列表框中的每个条目都显示产品名称,后跟价格,而不仅仅是产品名称。
如何在 XAML 文件中创建数据模板?谢谢。
简化的 XML 文件:
<Product>
<Name>Red Chair</Name>
<Price>29.5</Price>
</Product>
简化的 XAML 文件:
<DockPanel>
<ListBox Name="listBox1" ItemsSource="{Binding}" Margin="10" >
</ListBox>
</DockPanel>
在我的 C# 文件中,我使用 LINQ 从 XML 文件中收集产品,并将 var 产品分配给 listBox1.DataContext,效果很好。现在我只想添加价格。谢谢。
I have an XML file (see below) and can display all the Product Names in a listbox.
I want each entry in the listbox to display Product Name followed by Price, not just Product Name.
How do I do the datatemplate in the XAML file? Thanks.
Simplified XML file:
<Product>
<Name>Red Chair</Name>
<Price>29.5</Price>
</Product>
Simplified XAML file:
<DockPanel>
<ListBox Name="listBox1" ItemsSource="{Binding}" Margin="10" >
</ListBox>
</DockPanel>
In my C# file, I use LINQ to collect the products from the XML file and assign var products to listBox1.DataContext and it works fine. Now I just want to add in the Price. Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
执行此操作的方式与任何其他
ItemTemplate
相同。确保您绑定到
Product
,而不是Name
。然后,您可以使用 XPath 从 XML 中选择值,如下所示。You do this the same as any other
ItemTemplate
.Make sure that you're binding to the
Product
, not theName
. You can then select the values from the XML using XPath, something like this.假设您的 ItemsSource 类型为
IEnumerable
,您可以像这样设置项目模板:
Assuming your ItemsSource is of type
IEnumerable<Product>
, withyou can set the item template like this: