WPF数据驱动修改绑定
更新时间:2022年04月21日 15:49:06 作者:農碼一生
这篇文章介绍了WPF数据驱动修改绑定的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
一、简介
在XAML文件中我们创建了一个TextBlock 和一个Slider。2个控件。我们把TextBlock的Text属性(用于显示文本的属性)设置为{Binding Intelligence}。把Slider的Value属性(滑块的当前值)设置为{Binding Intelligence}。
二、代码案例
XMAL:
<Grid>
<StackPanel>
<TextBlock Text="{Binding Intelligence}"/>
<!--通过数据驱动修改绑定值得属性-->
<TextBox Text="{Binding Intelligence,Mode=TwoWay}"/>
<Slider Minimum="1" Maximum="100" Value="{Binding Intelligence}"/>
<StackPanel Orientation="Horizontal">
<TextBlock Text="名称:"/>
<TextBlock Text="{Binding Name}" MinWidth="120"/>
<TextBlock Text="请输入需要修改的名称:"/>
<TextBox MinWidth="120" x:Name="tb_inputName"/>
</StackPanel>
<!--通过事件驱动修改绑定值得属性-->
<Button Content="事件驱动修改绑定值。" Click="AlertText_Click"/>
</StackPanel>
</Grid>后台逻辑:
public partial class MainWindow : Window
{
Person p;
public MainWindow()
{
InitializeComponent();
p = new Person();
Binding binding = new Binding();
binding.Source = p;
binding.Mode = BindingMode.TwoWay;
binding.Path = new PropertyPath("Name");
BindingOperations.SetBinding(tb_inputName, TextBox.TextProperty, binding);
this.DataContext = p;
}
private void AlertText_Click(object sender, RoutedEventArgs e)
{
p.Name = "点击按钮后>>>>";
}
}
public class Person : INotifyPropertyChanged
{
private double _intelligence;
public double Intelligence
{
get { return _intelligence; }
set
{
_intelligence = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Intelligence"));
}
}
private string _name;
public string Name
{
get { return _name; }
set
{
_name = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Name"));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}三、运行效果



到此这篇关于WPF数据驱动修改绑定的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)实例
本篇文章主要介绍了ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询) ,具有一定的参考价值,有兴趣的可以了解一下。2016-12-12
Asp.net中的GridView导出遇到的两个问题和解决方法
Asp.net下GridView导出遇到的两个问题与解决方法,需要的朋友可以参考一下。2009-12-12


最新评论