在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();
效果图:
工程代码Github链接:WPF数据绑定例子