C#WPF实现数据绑定基本步骤

数据绑定的基本步骤:

(1)先声明一个类及其属性

(2)初始化类赋值

(3)在C#代码中把控件DataContext=对象;

(4)在界面设计里,控件给要绑定的属性{Binding 绑定类的属性}

原理:监听事件机制,界面改变有TextChanged之类的事件,所以改变界面可以同步修改到对象

想让普通对象实现数据绑定,需要实现INotifyPropertyChanged接口才能监听ProperChanged。具体代码如下显示:

class Person:INotifyPropertyChanged

{

private int age;

public int Age

{

get

{

return age;

}

set

{

this.age = value;

if (PropertyChanged != null)

{

PropertyChanged(this,

new PropertyChangedEventArgs("Age"));

}

}

}

}

时间: 2024-11-24 11:24:39

C#WPF实现数据绑定基本步骤的相关文章

第5篇 WPF C# 数据绑定Model-View-ViewModel模式

第5篇  WPF C# 数据绑定Model-View-ViewModel模式 参考资料: John Sharp:<Microsoft Visual C# 2013 Step by Step> 周 靖 译:John Sharp<Visual C# 2012从入门到精通> 前言 Model-View-ViewModel模式即MVVM模式编程涉及五个文件: 1.MainWindow.xaml文件 UI界面文件 2.MainWindow.xaml.cs文件  UI架构文件 3.ViewMo

WPF 之 数据绑定

数据绑定需要: 后台必须要有与控件对应的类和相关的属性 在后台new 一个类的对象 在后台把控件的数据上下文设置为该对象. 在XAML中把要绑定的控件中Text =      "{Binding 属性 }" 现象:在界面中修改控件中的参数可以同时反映到后台的实例中去,但是直接修改后台的实例,对界面中的参数没有影响 原因:由于普通对象没有"通知我的属性变了"这么一种机制,所以改变对象的属性,界面不会变,但是界面改变是有TextChanged之类的事件的,所以改变界面可

WPF中数据绑定问题

在数据库中字段不区分大小写,可以页面是区分的,一开始以为不区分,可我从数据库查出了数据在前台就是不显示想了半天才发现的. <sdk:DataGrid FrozenColumnCount ="1" Margin="0,0,0,0" Name="dgList" AutoGenerateColumns="False" IsReadOnly="True"  GridLinesVisibility="

WPF的数据绑定详细介绍

数据绑定:是应用程序 UI 与业务逻辑之间建立连接的过程. 如果绑定正确设置并且数据提供正确通知,则当数据的值发生更改时,绑定到数据的视觉元素会自动反映更改. 数据绑定可能还意味着如果视觉元素中数据的外部表现形式发生更改,则基础数据可以自动更新以反映更改. 一.WPF数据绑定的概要 数据绑定:是应用程序 UI 与业务逻辑之间建立连接的过程. 如果绑定正确设置并且数据提供正确通知,则当数据的值发生更改时,绑定到数据的视觉元素会自动反映更改. 数据绑定可能还意味着如果视觉元素中数据的外部表现形式发生

WPF Demo17 数据绑定

实例一:以资源的形式实现 namespace 数据绑定1 { public class Student { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } } <Window x:Class="数据绑定1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pr

WPF Combobox数据绑定Binding

combobox数据绑定List链表集合区分显示值与选择的值 整体效果: 根据combobox选择情况分别打印选取值与显示值 代码: Windows窗体: 1 <Window x:Class="ComboxBinding.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.

wpf treeview 数据绑定 递归绑定节点

1.先上效果 将所有节点加入ComboBox数据源,在ComboBox中选择时下方Treeview显示该节点下的子节点. 1.xaml文件,将以下代码加入界面合适位置 1 <StackPanel> 2 <StackPanel Margin="10"> 3 <Label Content="选择组节点:"></Label> 4 <ComboBox MaxDropDownHeight="100" N

WPF:解决数据绑定时不更新数据的问题

当用户在窗体控件中修改数据时,如果此时用户点击其它窗体会出现数据没有更新的情况. 这是由于数据绑定默认是通过失去焦点来提交数据的.可通过属性变更方法来更新数据: <TextBox.Text> <Binding Path="MyProperty" UpdateSourceTrigger="PropertyChanged"/> </TextBox.Text> 或者仅使用代码调用UpdateSource强制更新数据: <TextB

WPF自定义控件数据绑定出现的问题

测试发现,父控件构造函数中初始化界面的部分会完成子控件与父控件ViewModel的数据绑定.因此,如果在父控件构造函数执行前初始化父控件ViewModel中的属性,将导致在子控件执行OnApplyTemplate时无法获取到绑定的改属性.因此,需要尽量避免在父控件构造前构造父控件的ViewModel. 正常情况下,ViewModel的初始化都会在控件构造前.我遇到这个问题是由于使用DataTemplate+ViewModel进行控件切换,需要提前初始化ViewModel作为DateTemplat