C# WPF在xaml中的資料繫結
阿新 • • 發佈:2018-12-22
在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檔案中繫結
然後在C#程式碼中繫結,繫結完成。<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>
//集合資料繫結
this.listView.ItemsSource = viewModel.fileList;
//新增資料
viewModel.AddThreeFile();
效果圖: