1. 程式人生 > WINDOWS開發 >WPF Xaml中建立集合

WPF Xaml中建立集合

原文:WPF Xaml中建立集合

首先在xaml中建立集合是一個不可取的方法。

本方法僅作為xaml的學習。

本文略微無聊,主要是編寫的東西都是老玩意。

首先是定義一個類,作為你要載入集合的模型。

結構如下

技術分享圖片
 internal class Student
    {
        public string Name { get; set; }
        public int Age { get; set; }
    }
    internal class StudentList:List<Student>
    {

    }
  
class StringCollect { public StudentList Students { get; set; } }
技術分享圖片

XAML中

技術分享圖片
  <Window.DataContext>
        <local:StringCollect  x:Name="c2"  >
            <local:StringCollect.Students>
                <local:StudentList>
                    <local:Student Age="
18" Name="A1"/> <local:Student Age="18" Name="A2"/> <local:Student Age="18" Name="A3"/> </local:StudentList> </local:StringCollect.Students> </local:StringCollect> </Window.DataContext> <Grid> <ListBox ItemsSource="
{Binding ElementName=c2,Path=Students}"> <ListBox.ItemTemplate> <DataTemplate> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBlock> <Run Text="Name:"/> <Run Text="{Binding Name}"/> </TextBlock> <TextBlock Grid.Column="1"> <Run Text="Age:"/> <Run Text="{Binding Age}"/> </TextBlock> </Grid> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Grid>
技術分享圖片

截圖如下

技術分享圖片

那麼還有別的方法嗎?

當然了,比如XAML中的X:Array關鍵字

比如

技術分享圖片
        <ListBox  >
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>
                        <TextBlock>
                            <Run Text="Name:"/>
                            <Run Text="{Binding Name}"/>
                        </TextBlock>
                        <TextBlock Grid.Column="1">
                            <Run Text="Age:"/>
                            <Run Text="{Binding Age}"/>
                        </TextBlock>
                    </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
            <ListBox.ItemsSource>
                <x:Array Type="{x:Type local:Student}">
                    <local:Student Age="18" Name="b1"/>
                    <local:Student Age="18" Name="b2"/>
                    <local:Student Age="18" Name="b3"/>
                </x:Array>
            </ListBox.ItemsSource>
        </ListBox>
技術分享圖片

我覺得在xaml建立集合是一個比較無聊的事情。