【发布时间】:2012-02-25 20:43:16
【问题描述】:
我有一个列表框,它绑定并显示 XML 文件中的 Name 元素。选择列表框项目时,我想在文本块中显示与该项目关联的价格值。如何以编程方式检索价格(不是在 xaml 文件中,而是在后面的代码中)?谢谢。
XML 文件有这些节点:
<Product>
<Name>Book</Name>
<Price>7</Price>
</Product>
我使用 Linq 并使用 匿名类型 执行 select。如果以编程方式访问该字段的最简单方法是通过命名类型,请告诉我如何。
这是我在 xaml 中绑定的方式(对包含的每个列表框项使用数据模板):
<TextBlock Text = "{Binding Name}" />
这是我要检索价格的代码隐藏函数:
private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// how do I get the value of Price of the selected item here?
}
请注意,我想在此函数中访问价格,而不是在 xaml 中!
【问题讨论】:
-
这取决于您的绑定方式。您是通过 XMLDataProvider 还是手动检索 XMLNodes?你能展示你的代码吗?
-
@SvenG 我刚刚添加了在 xaml 中完成的 Name 绑定。我使用 Linq 读取 xml 文件,所以我不直接使用任何 XMLDataProvider。
-
能否请您显示该 TextBlock 周围的 ViewModel 和 XAML?
标签: wpf xml linq data-binding listbox