Tambahkan kolom secara dinamis ke kotak daftar

Saya baru dalam pengembangan Windows Phone 7, dan hampir sama barunya dengan Silverlight. Saya memiliki ListBox dengan DataTemplate, StackPanel, dan TextBlocks seperti:

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

Saya memiliki beberapa kode C# untuk mengisinya:

    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;

Dan semuanya berfungsi dengan baik. Pertanyaan saya adalah: bagaimana cara menambah/menghapus 'blok teks' tambahan ke kotak daftar secara dinamis (saat runtime)? Juga, bagaimana cara menempatkan header kolom pada kotak daftar?


person Matthew Groves    schedule 02.05.2010    source sumber


Jawaban (1)


Yang sebenarnya Anda inginkan adalah grid, bukan listbox. Saya mengalami kesulitan yang sama dalam menampilkan kisi-kisi di Windows Phone 7 dan kabar baiknya adalah Anda dapat menggunakan DataGrid dari SilverlightToolkit, kabar buruknya adalah itu tidak dioptimalkan untuk telepon. Anda perlu mencari sumber SilverlightToolkit, menyalin gaya kisi dan memodifikasinya agar terlihat asli pada ponsel.

Inilah jawaban saya untuk pertanyaan saya pertanyaan dari beberapa waktu lalu tentang datagrid.

person Igor Zevaka    schedule 03.05.2010