เพิ่มคอลัมน์ลงในกล่องรายการแบบไดนามิก

ฉันยังใหม่กับการพัฒนา Windows Phone 7 และเกือบจะใหม่พอๆ กับ Silverlight ฉันมีกล่องรายการที่มี DataTemplate, StackPanel และ TextBlocks ดังนี้:

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

และนั่นก็ใช้ได้ดี คำถามของฉันคือ: ฉันจะเพิ่ม/ลบ 'textblocks' เพิ่มเติมลงในกล่องรายการแบบไดนามิก (ขณะรันไทม์) ได้อย่างไร นอกจากนี้ ฉันจะใส่ส่วนหัวของคอลัมน์ลงในกล่องรายการได้อย่างไร


person Matthew Groves    schedule 02.05.2010    source แหล่งที่มา


คำตอบ (1)


สิ่งที่คุณต้องการจริงๆ คือกริด ไม่ใช่กล่องรายการ ฉันประสบปัญหาคล้ายกันในการหาตารางมาแสดงใน Windows Phone 7 และข่าวดีก็คือคุณสามารถใช้ DataGrid จาก SilverlightToolkit ได้ แต่ข่าวร้ายก็คือ ไม่ได้รับการปรับให้เหมาะกับโทรศัพท์ คุณจะต้องค้นหาแหล่งที่มาของ SilverlightToolkit คัดลอกรูปแบบกริด และแก้ไขให้มีลักษณะดั้งเดิมในโทรศัพท์

นี่คือคำตอบของฉันของฉัน สมัยก่อนมีคำถามเกี่ยวกับ datagrid ครับ

person Igor Zevaka    schedule 03.05.2010