【发布时间】:2014-08-13 16:43:09
【问题描述】:
我正在尝试使用ListBox 显示数据。我正在设置DataContext。
public class DataStore
{
static ObservableCollection<ItemToTrack> _items =
new ObservableCollection<ItemToTrack>();
public static ObservableCollection<ItemToTrack> Items
{
get { return _items; }
}
}
xaml:
<ListBox x:Name="ItemList">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Padding="5,0,5,0" Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
以及设置DataContext的方法:
private void FillBtn_Click(object sender, RoutedEventArgs e)
{
DataStore.Items.Add(new ItemToTrack() { Name = "Gold palate", Locations =
new Dictionary<string, double>()
{
{ "DB City", 101 }, { "Agrawal Jwellers", 110 }
}});
DataStore.Items.Add(new ItemToTrack() { Name = "Crockery set", Locations =
new Dictionary<string, double>()
{
{ "DB City", 200 }, { "New market", 210 }
}});
ItemList.DataContext = DataStore.Items.ToList();
}
除了ListBox 中不出现任何内容外,不会生成任何错误。
如果我在 c# 代码中将 DataContext 更改为 ItemsSource,则数据显示正确。
【问题讨论】:
标签: c# silverlight listbox