您的位置:首页 > 其它

WPF 数据绑定[1]

2009-12-21 09:31 337 查看
    手上资料有点凌乱,整理一下:

    1、所有的绑定都是从 Binding 这个类开始的,最原始的绑定方式:

 
Binding bd = new Binding();

//数据来源对象
bd.Source = this.text1;

//数据的具体来源对象的属性
/*
由于WPF是树状的,所以对于某些包含子对象的来源对象,设置Path的时候,要具体到子对象的属性,比如:TreeView的SelectedItem子对象的Header
这时:
bd.Source = this.treeView1;
bd.Path = new PropertyPath("SelectedItem.Header");
*/
bd.Path = new PropertyPath("Text");

//使用将数据邦定到的目标对象的方法进行绑定
//其中,第一个参数是要绑定的目标属性,是一个[依赖属性]
/*
其实绑定都是使用ContentControl的SetBinding方法
*/
this.text2.SetBinding(TextBox.TextProperty, bd);

/*
相对于不Binding类来说,还有一个BindingOperation,使用这个类的静态方法SetBinding也是可以进行相同的数据邦定,两种方式的主要区别在于,BindingOperation类的SetBinding的第一次参数是目标对象,也就是上面的this.text2,只是这个参数不一定是控件。
*/
BindingOperation.SetBinding(this.text2,TextBox.TextProperty, bd);

/*
同时BindingOperation还可以用于清除已经实施的绑定
*/
BindingOperation.ClearBinding(this.text2,TextBox.TextProperty);
BindingOperation.ClearBindings(this.text2);


    

     2、相对于在后台cs文件中的代码,其实在前台的XAML也是可以进行设置的:

<Grid>
<StackPanel Orientation="Vertical">
<TextBox x:Name="text1" ></TextBox>
<TextBox x:Name="text2" ></TextBox>
<!--三种不同的书写格式,来源对象都是text1,都是对目标对象的Text进行设置-->
<TextBox x:Name="text3" Text="{BindingElementName=text1,Path=Text}">
</TextBox>
<TextBox x:Name="text4" Text="{Binding Text,ElementName=text1}"></TextBox>
<TextBox x:Name="text5">
<TextBox.Text>
<Binding ElementName="text1" Path="Text"/>
</TextBox.Text>
</TextBox>
</StackPanel>
</Grid>


 

    3、在XAML中,还可以使用静态资源进行数据绑定,具体整理见下一节

 

 

 

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  wpf binding textbox path header