天天看點

WPF ListBox示例

//前台界面

  <ListBox Name="lbBuilding" HorizontalContentAlignment="Stretch" Height="400" Width="600" Margin="0,0,0,0">

            <ListBox.ItemTemplate>

                <DataTemplate>

                    <Border BorderThickness="0,0,0,1" BorderBrush="Gray" Height="Auto" Width="615">

                        <Grid Height="Auto" Margin="0,0,0,0">

                            <Grid.ColumnDefinitions>

                                <ColumnDefinition Width="500" />

                                <ColumnDefinition Width="*" />

                            </Grid.ColumnDefinitions>

                            <WrapPanel Orientation="Horizontal">

                                <TextBlock Text="{Binding Name}" Foreground="Black" Margin="0,0,0,0" FontWeight="Bold" TextWrapping="Wrap" Width="500" Height="Auto" FontSize="15" />

                                <TextBlock Text="{Binding Grade}" Foreground="Black" Margin="0,10,0,0" TextWrapping="Wrap" Width="500" Height="Auto"  />

                            </WrapPanel>

                            <Canvas Grid.Column="1">

                                <TextBox Text="{Binding Grade,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" Width="50" Height="20" Margin="30,0,0,0" Canvas.Top="2"/>

                            </Canvas>

                        </Grid>

                    </Border>

                </DataTemplate>

            </ListBox.ItemTemplate>

        </ListBox>

//背景代碼

    public partial class ListBox : Window

    {

        public ListBox()

        {

            InitializeComponent();

            LoadData();

        }

        void LoadData()

        {

            List<StudentModel> list = new List<StudentModel>();

            list.Add(new StudentModel()

            {

                Name = "小明",

                Grade = 1

            });

            list.Add(new StudentModel()

            {

                Name = "小花",

                Grade = 2

            });

            lbBuilding.ItemsSource = list;

        }

    }

    /// <summary>

    /// 學生實體

    /// </summary>

    public class StudentModel

    {

        public string Name { get; set; }

        public int Grade { get; set; }

        /// <summary>

        /// 樓層類型資料源

        /// </summary>

        public List<GradeItemModel> GradeItems { get; set; }

    }

    /// <summary>

    /// 班級下拉框實體

    /// </summary>

    public class GradeItemModel

    {

        public int GradeID { get; set; }

        public string GradeName { get; set; }

        public List<StudentModel> StudentItems { get; set; }

    }

WPF

繼續閱讀