我有一个 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,它工作正常。现在我只想添加价格。谢谢。
最佳答案
您可以像任何其他 ItemTemplate
一样执行此操作。
确保您绑定(bind)到 Product
,而不是 Name
。然后,您可以使用 XPath 从 XML 中选择值,就像这样。
<DockPanel>
<ListBox Name="listBox1"
ItemsSource="{Binding}"
Margin="10" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text={Binding XPath=./Name} />
<TextBlock Text={Binding XPath=./Price} />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DockPanel>
关于wpf - 如何为列表框中的项目做数据模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7736220/