扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年10月2日
关键字:
在本页阅读全文(共2页)
绑定属性
在ASP.NET中,我们通常使用<%# 数据表达式%>这样的语法创建服务器控件属性和数据源之间的绑定。那么要在WPF中创建一个XAML元素的属性和数据源之间的绑定应该怎么实现呢?为此我们引入了一种新的概念-绑定属性。我们可以在一个元素中使用绑定属性去引用原本属于其它元素的属性值,这个包含绑定属性的元素称为目标元素,而被引用的那个元素称为源元素。注意,绑定属性必须和目标元素的从属属性相关联。 我们在目标元素中使用绑定属性来绑定源元素的相应属性值,如果源元素中的相应属性值在程序运行时发生了变化,那么目标元素中的从属属性的属性值也将做出同样改变。也就说绑定属性会自动解析所绑定的属性值是否发生了变化,并将发生的改变马上反馈到从属属性中。在学习C#时,我们通常会使用如下的代码来说明赋值的意义:
37 int a = 1; 38 int b; 39 b = a; |
01 <Binding ElementName[元素名]=" …" Path[属性名]="…"/> |
01 <Window 02 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 03 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 04 x:Class="SDKSample.Window1" 05 Width="460" 06 Height="200" 07 Title="BindDPtoDP"> 08 09 <DockPanel Background="White"> 10 11 <Button Click="btnChangeSource" Width="150" Height="30" 12 DockPanel.Dock="Top">Change Source Property</Button> 13 14 <TextBlock Name="Text1" DockPanel.Dock="Top" FontSize="12" 15 Height="30" Foreground="Green"> 16 <TextBlock.Text> 17 Click the Button to Change this Initial Text Value in this Source Element 18 </TextBlock.Text> 19 </TextBlock> 20 21 <TextBox DockPanel.Dock="Top" Height="30" Foreground="Blue"> 22 <TextBox.Text> 23 <Binding ElementName="Text1" Path="Text"/> 24 </TextBox.Text> 25 </TextBox> 26 27 </DockPanel> 28 29 </Window> |
01 using System; 02 using System.ComponentModel; 03 using System.Windows; 04 using System.Windows.Controls; 05 using System.Windows.Documents; 06 using System.Windows.Data; 07 using System.Windows.Media; 08 09 namespace SDKSample 10 { 11 /// <summary> 12 /// Window1: This is the class that encapsulates the code 13 /// "behind" the Window1.Xaml page. 14 /// </summary> 15 public partial class Window1 : Window 16 { 17 static int iCount = 0; 18 19 void btnChangeSource(object sender, RoutedEventArgs e) 20 { 21 iCount++; 22 Text1.Text = string.Format("New Text. Count={0}", iCount); 23 } 24 } 25 } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者