【发布时间】:2010-12-14 10:03:36
【问题描述】:
我正在开发 Silverlight 应用程序,并希望将 ListBox 的 ItemsSource 设置为 ObeservableCollection<XElement>,并且仍然能够使用 Binding Path=Element[name].Value 语法来获取数据模板的值。我可以成功获取绑定,但 Element[] 语法不起作用。它只是呈现为空。例如,这不起作用:
<DataTemplate x:Key="SearchResultsTemplate">
<ListBox ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=Element[key].Value}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
但奇怪的是,像这样的东西确实会渲染内容,这告诉我一切都在某种程度上受到了约束,但有些东西让我无法使用 Element 动态属性:
<DataTemplate x:Key="SearchResultsTemplate">
<ListBox ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=FirstNode}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
我做错了什么?
【问题讨论】:
标签: c# silverlight linq data-binding xelement