SilverLight用DataContext显示数据

 首先需要创建一个实体类

 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;

                };

效果

SilverLight用DataContext显示数据

你可能感兴趣的:(silverlight)