1. 程式人生 > >C# WPF在xaml中的資料繫結

C# WPF在xaml中的資料繫結

在WPF的繫結中個人分為兩種:非集合資料繫結和集合資料繫結。

非集合資料繫結:指的是包含資料為單個de控制元件的資料繫結,而不是有很多子項,例如Button,TextBox,TextBlock等等的繫結。

集合資料繫結:指的是包含很多子項的控制元件的資料繫結,例如ListView,ListBox。

非集合資料繫結:(例子:當Slider滑動時,TextBox的資料會跟著改變)

先在xaml檔案中繫結:

        <TextBox x:Name="textBox" HorizontalAlignment="Left" Text="{Binding value}" Height="25" Margin="212,20,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="70"/>
        <Slider x:Name="slider" HorizontalAlignment="Left" Value="{Binding value}" Height="17" Margin="107,59,0,0" VerticalAlignment="Top" Width="293" Maximum="100"/>

然後在C#程式碼中繫結,繫結完成:
            //非集合資料繫結
            this.textBox.DataContext = viewModel.simpleData;
            this.slider.DataContext = viewModel.simpleData;

集合資料繫結:

先在xaml檔案中繫結

        <ListView x:Name="listView" HorizontalAlignment="Left" Height="151" Margin="61,89,0,0" VerticalAlignment="Top" Width="410">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="檔名" DisplayMemberBinding="{Binding Path=name}"  Width="200"/>
                    <GridViewColumn Header="大小" DisplayMemberBinding="{Binding Path=size}"  Width="120"/>
                    <GridViewColumn Header="型別" DisplayMemberBinding="{Binding Path=type}"  Width="80"/>
                </GridView>
            </ListView.View>
        </ListView>
然後在C#程式碼中繫結,繫結完成。
            //集合資料繫結
            this.listView.ItemsSource = viewModel.fileList;
            //新增資料
            viewModel.AddThreeFile();

效果圖: