【问题标题】:Dynamically add columns to a listbox将列动态添加到列表框
【发布时间】:2010-05-02 15:42:54
【问题描述】:

我是 Windows Phone 7 开发的新手,对 Silverlight 几乎同样陌生。我有一个带有 DataTemplate、StackPanel 和 TextBlocks 的 ListBox,如下所示:

    <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;

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

【问题讨论】:

    标签: silverlight listbox windows-phone-7


    【解决方案1】:

    你真正想要的是一个网格,而不是一个列表框。我经历了在 Windows Phone 7 中显示网格的类似痛苦,好消息是您可以使用 SilverlightToolkit 中的DataGrid,坏消息是它没有针对手机进行优化。您将需要查找 SilverlightToolkit 源,复制网格样式并对其进行修改以使其看起来与手机原生。

    这里是 my answer 对我一段时间以来关于数据网格的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-28
      • 2021-11-17
      • 2019-04-18
      • 1970-01-01
      • 2011-09-06
      • 2021-06-05
      • 2016-08-17
      • 1970-01-01
      相关资源
      最近更新 更多