Silverlight 向列表框动态添加列

Silverlight 向列表框动态添加列,silverlight,listbox,windows-phone-7,Silverlight,Listbox,Windows Phone 7,我对WindowsPhone7开发是全新的,对Silverlight也几乎同样陌生。我有一个带有DataTemplate、StackPanel和文本块的列表框,如下所示: <ListBox Height="355" HorizontalAlignment="Left" Margin="6,291,0,0" Name="detailsList" VerticalAlignment="Top" Width="474" Background="#36FFFFFF">

我对WindowsPhone7开发是全新的,对Silverlight也几乎同样陌生。我有一个带有DataTemplate、StackPanel和文本块的列表框,如下所示:

    <ListBox Height="355" HorizontalAlignment="Left" Margin="6,291,0,0" Name="detailsList" VerticalAlignment="Top" Width="474" Background="#36FFFFFF">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Width="50" Text="{Binding Ticker}" />
                    <TextBlock Width="50" Text="{Binding Price}" />
                    <TextBlock Width="50" Text="{Binding GainLoss}" />
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

我有一些C代码来填充它:

    var info = new List<StockInfo>();
    info.Add(new StockInfo { Ticker = "C", Price = "5.18", GainLoss = "10" });
    info.Add(new StockInfo { Ticker = "WEN", Price = "4.18", GainLoss = "12" });
    info.Add(new StockInfo { Ticker = "CBB", Price = "5.22", GainLoss = "210" });
    detailsList.ItemsSource = info;
var info=new List();
添加(新股票信息{Ticker=“C”,Price=“5.18”,GainLoss=“10”});
添加(新股票信息{Ticker=“WEN”,Price=“4.18”,GainLoss=“12”});
添加(新股票信息{Ticker=“CBB”,Price=“5.22”,GainLoss=“210”});
detailsList.ItemsSource=信息;

这一切都很好。我的问题是:如何动态地(在运行时)向列表框添加/删除额外的“文本块”?另外,如何将列标题放在列表框上?

您实际需要的是网格,而不是列表框。我也经历过类似的痛苦,在WindowsPhone7中显示网格,好消息是你可以使用SilverlightToolkit中的
DataGrid
,坏消息是它没有针对手机进行优化。您需要查找SilverlightToolkit源代码,复制网格样式并修改它,使其看起来像手机的本地样式

下面是我很久以前关于datagrid的问题