我正在开发window phone 7应用程序。我是银光的新手。我试图将一个字符串列表绑定到Listbox。我使用以下代码
ObservableCollection<String> abc = new ObservableCollection<String>();
abc.Add("XYZ");
IncomeSummaryListBox.ItemsSource = abc;
我的xaml包含以下代码
<ListBox Margin="16,217,6,275" Name="IncomeSummaryListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
使用上面的代码,我的列表框在运行时没有显示任何项目。我的模拟器设备在列表框中没有显示任何内容。我的代码有什么问题?您能否为我提供上述问题的任何代码或链接,以便我可以解决上述问题?如果我做错了什么,请指导我。
答案 0 :(得分:2)
您实际上并没有告诉数据模板显示该项目。在这个简单的显示字符串的情况下,如果您只是从xaml中删除整个ListBox.ItemTemplate
,它将开始工作。
出于学术原因,您可以使用: -
<ListBox Margin="16,217,6,275" Name="IncomeSummaryListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这会将Text
的{{1}}属性绑定到ItemsSource中的项目。
答案 1 :(得分:0)
如果您想要水平而不是垂直显示项目(因为您可能正在尝试这样做),您将需要替换ItemsPanelTemplate而不是DataTemplate。
<ListBox Margin="16,217,6,275" Name="IncomeSummaryListBox">
<ListBox.ItemsPanelTemplate >
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanelTemplate >
</ListBox>