1.把控件作为Binding的源
例子:拖动Slider,输入框中的值也会跟着改变,或在输入框中输入数值,滑动条也会自动移动
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
2.控制Binding的方向
设置属性:Mode
3.更新时操作
设置属性:UpdateSourceTrigger
4.Path路径
1)前台与后台的代码比较:
前台:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
后台:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;namespace Path路径{ ////// MainWindow.xaml 的交互逻辑 /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { Binding binding = new Binding() { Path = new PropertyPath("Value"), Source = this.slider1 }; this.textbox2.SetBinding(TextBox.TextProperty, binding); this.textBox6.SetBinding(TextBox.TextProperty, new Binding("Text.Length") { Source = this.textBox3, Mode = BindingMode.OneWay }); this.textBox9.SetBinding(TextBox.TextProperty, new Binding("Text[3]") { Source = this.textBox7, Mode = BindingMode.OneWay }); } }}
截图:
2)斜线语法
第一个例子:
XAML:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
C#:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Shapes;namespace Path路径{ ////// 当使用一个集合或者DataView作为Binding的源时,如果想把它的默认元素当作Path使用,需要以下的语法 /// public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { ListstringList = new List () { "Tomi", "Tim", "Blogog" }; this.textBox1.SetBinding(TextBox.TextProperty, new Binding("/") { Source = stringList }); this.textBox2.SetBinding(TextBox.TextProperty, new Binding("/Length") { Source = stringList, Mode = BindingMode.OneWay }); this.textBox3.SetBinding(TextBox.TextProperty, new Binding("/[2]") { Source = stringList, Mode = BindingMode.OneWay }); } }}
截图:
第二个例子:
XAML:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
C#:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Shapes;namespace Path路径{ ////// 如果集合元素的属性仍然是一个集合时,使用多斜线语法 /// public partial class Window2 : Window { public Window2() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { ListcountryList = new List (){ new Country(){ Name = "中国", ProvinceList = new List (){ new Province(){ Name = "四川", CityList = new List (){ new City(){ Name = "成都" } } } } } }; this.textBox1.SetBinding(TextBox.TextProperty, new Binding("/Name") { Source = countryList }); this.textBox2.SetBinding(TextBox.TextProperty, new Binding("/ProvinceList/Name") { Source = countryList }); this.textBox3.SetBinding(TextBox.TextProperty, new Binding("ProvinceList/CityList/Name") { Source = countryList }); } }}
截图: