SilverLight用DataContext显示数据

本文介绍了一个WPF应用程序如何通过数据绑定实现界面与业务逻辑的分离。具体展示了如何创建一个实体类Product,并通过数据绑定将实体类的属性ProductName和ProductPrice与界面上的TextBox控件进行绑定。

 首先需要创建一个实体类

 public class Product  
  {       
        private string productname;//产品名字

        public string ProductName
        {
            get { return productname; }
            set { productname = value;  }
        }
         private double productprice;//产品价格

        public double ProductPrice
        {
            get { return productprice; }
            set {productprice = value;}
        }
}

界面代码

         <Grid Margin="26,20,0,0">
    		<Grid.ColumnDefinitions>
    			<ColumnDefinition Width="0.32*"/>
    			<ColumnDefinition Width="0.68*"/>
    		</Grid.ColumnDefinitions>
    		<Grid.RowDefinitions>
    			<RowDefinition Height="0.225*"/>
    			<RowDefinition Height="0.235*"/>
    		</Grid.RowDefinitions>
    		<TextBlock Margin="8,35,17,0" TextWrapping="Wrap" Text="ProductName" Height="30" VerticalAlignment="Top"/>
    		<TextBlock Margin="8,25,17,40" TextWrapping="Wrap" Text="ProductPrice" Grid.Row="1"/>
    		<TextBox x:Name="txtProductName"  Grid.Column="1" Margin="25,35,43,58" TextWrapping="Wrap" Text="{Binding ProductName}"/>
    		<TextBox Grid.Column="1" Height="32" Margin="25,39,43,0" Grid.Row="1" TextWrapping="Wrap" Text="{Binding ProductPrice}" VerticalAlignment="Top"/>
         </Grid>

     要想使用数据绑定,必须通过绑定表达式来设置目标属性。绑定表达式是一个标记语言,通常以Binding开头。创建表达式需要指明要绑定的数据源中的属性的名称。这个例子中需要绑定Product中的两个属性,需要用到的绑定表达式是{Binding ProductName}

然后用它设置TextBox的Text属性。

<TextBox x:Name="txtProductName"  Grid.Column="1" Margin="25,35,43,58" TextWrapping="Wrap" Text="{Binding ProductName}"/>

  绑定表达式只是指明了数据源中属性的名称,但它并不知道数据源。可以通过两种方式来设置数据源:通过设置元素的DataContext属性或者设置绑定的Source属性。

     大多数情况下,最实用的方法是设置元素的DataContext属性。在上边例子中你可以设置每一个文本框的DataContext属性。但是,还有更简单的方法。如果一个元素用了绑定表达式但它的DataContext属性为空,这个元素将会往它的上级寻找,直到找到一个数据源。因此在上边例子中可以直接设置Grid的DataContext属性,所有的TextBox也将用相同的数据源。

后台代码

this.Loaded += (ss, ee) =>
                {
                    Product product = new Product()
                    {
                          ProductName="Audi",
                         ProductPrice=50000.0
                    };
                    LayoutRoot.DataContext = product;
                };

效果

转载于:https://www.cnblogs.com/HellenTian/archive/2010/12/30/1922189.html

乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值