Binding控件到控件的绑定
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Visual Studio 2015
作者:李成富
撰写时间:2019年6月13日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Binding特点:
- 实际项目中为XAML控件属性赋值经常遇到:
设计时属性之处于未知状态
运行时才能获取到
2.轻松实现XAML页面属性赋值,资源引用,类型转换等操作
Binding控件绑定到控件的四个参数的作用:
第一个参数OneWay: Source影响着Target1,但是Target1却影响不到Source
参考代码:
<ScrollBar Name="Source" Width="200" Height="40" Orientation="Horizontal"
Canvas.Top="20" Canvas.Left="68" Maximum="100" Minimum="1"SmallChange="1"></ScrollBar>
<Label Content="fsdfsd:" Canvas.Top="65" Canvas.Left="50"FontSize="16"></Label>
<TextBox Name="Target1"Height="30"Width="100" Canvas.Top="65" Canvas.Left="120" FontSize="20" Text="{Binding ElementName=Source,Path=Value,Mode=OneWay}"></TextBox>
参考结果:当拉动灰色滚动条Source时,下面的文本框Target1的值也会跟着改变,而反过来当先改变文本框Target1的值时,上面的灰色滚动条Source并不会跟着改变
第二个参数OneWayToSource: Target1影响Source,而Source却影响不到Target1
参考代码:
<Label Name="Target2" Content="fsdfsd:" Canvas.Top="100" Canvas.Left="50" FontSize="16"></Label>
<TextBox Height="30" Width="100" Canvas.Top="100" Canvas.Left="120" FontSize="20"ext="{Binding ElementName=Source,Path=Value,Mode=OneWayToSource}"></TextBox>
参考结果:当拉动灰色滚动条Source时,下面的文本框Target1的值不会跟着改变,而反过来当先改变文本框Target1的值时,上面的灰色滚动条Source会跟着改变
第三个参数TwoWay: Source与Target1相互影响
参考代码:
<Label Name="Target3" Content="fsdfsd:" Canvas.Top="135" Canvas.Left="50" FontSize="16"></Label>
<TextBox Height="30" Width="100" Canvas.Top="135" Canvas.Left="120" FontSize="20" Text="{Binding ElementName=Source,Path=Value,Mode=TwoWay}"></TextBox>
参考结果:当拉动灰色滚动条Source时,下面的文本框Target1的值会跟着改变,而反过来当先改变文本框Target1的值时,上面的灰色滚动条Source也会跟着改变
第四个参数OneTime: 在OneWay的基础上延伸了一个OneTime,仅绑定一次
参考代码:
<Label Name="Target4" Content="fsdfsd:" Canvas.Top="170" Canvas.Left="50" FontSize="16"></Label>
<TextBox Height="30" Width="100" Canvas.Top="170" Canvas.Left="120" FontSize="20" Text="{Binding ElementName=Source,Path=Value,Mode=OneTime}"></TextBox>
参考结果: 因为Source设计了开始值Smallchange,而OneTime又是绑定一次,所以文本框为一。