通过在B站上学习,同时记录自己的操作;界面上有滑动条,和文本框,将他们的数据进行关联
1)添加 一个stackPanel容器,里面添加Slider和多个textBox,
2)由于需要与slider绑定,所以他的名字必须指定,其他控件可以不设置名字;
3)将Text属性bingding进行绑定;由于此次是元素间的绑定 所以 绑定的时候指定 ElementName和路径Path 其实就是属性 如果绑定的元素不是value,而是text就指定为text
4)另外,可以指定绑定的类型,单次,单项,双向,反向单向(自己作为源);这里面有时候自己默认是空的时候会出现转换错误;这时可以通过 FallbackValue属性设置默认值
5)另外数据显示,可以通过,StringFormat=F2 设置数据显示格式;
<StackPanel>
<Slider Name="slider" Margin="5" ></Slider>
<TextBox Text="{Binding ElementName=slider, Path=Value,StringFormat=F2 }" Margin="5" Height="30"/>
<TextBox Text="{Binding ElementName=slider, Path=Value, Mode=OneTime}" Margin="5" Height="30"/>
<TextBox Text="{Binding ElementName=slider, Path=Value ,Mode=OneWay}" Margin="5" Height="30"/>
<TextBox Text="{Binding ElementName=slider, Path=Value ,Mode=TwoWay}" Margin="5" Height="30"/>
<TextBox Text="{Binding ElementName=slider, Path=Value ,Mode=OneWayToSource , FallbackValue=5 }" Margin="5" Height="30"/>
</StackPanel>
上面的都是控件与控件的绑定,后面学习控件与参数之间的的绑定
<Slider Name="slider" Margin="5" Value="{Binding Value}" ></Slider>
<TextBox Text="{Binding Value ,StringFormat=F2 }" Margin="5" Height="30"/>
public class NameClass
{
public double Value { get; set; }
public string Name { get; set; }
}
NameClass nameClass = new NameClass();
this.DataContext = nameClass;
现在将上面的两个控件同时绑定到一个数据上,可以实现数据的双向绑定