【WIN10】绑定x:Bind

在WP8、WP8中,我们知道有一个绑定{Binding},而在Win10中,新增了一个绑定{x:Bind}

x:Bind :为编译时绑定 ,内存、内存相对于传统绑定都有优化

特性:

1.为强类型      2.默认上下文为Page或UserControl       3.Mode默认为OneTime

xaml:

<TextBlock Text="{x:Bind BindData}"/>

后台代码:

1 public sealed partial class MainPage : Page
2 {
3     public string BindData = "绑定的数据";
4 
5     public MainPage()
6     {
7         this.InitializeComponent();
8     }
9 }

如果Text="{x:Bind BindData}"绑定的属性有误,则编译时会报错。

模板中使用x:Bind

 xaml:

    xmlns:model="using:HelloWorld.Models"

1
<ListView x:Name="lv" ItemsSource="{x:Bind news}"> 2 <ListView.ItemTemplate>
        <!--x:Bind 是强类型,必须在模板中声明数据类型--> 3 <DataTemplate x:DataType="model:NewsModel"> 4 <StackPanel> 5 <TextBlock Text="{x:Bind Title}" /> 6 <TextBlock Text="{x:Bind Text}" /> 7 </StackPanel> 8 </DataTemplate> 9 </ListView.ItemTemplate> 10 </ListView>

增加一个类:

namespace HelloWorld.Models
{
  public class NewsModel
  {
    public string Title { get; set; }
    public string Text { get; set; }
  }
}

后台代码:

 1 ObservableCollection<NewsModel> news= new ObservableCollection<NewsModel>();
 2 
 3 public MainPage()
 4 {
 5     this.InitializeComponent();
 6     pictures.Add(new NewsModel() { Title= "Title1", Text = "Text1" });
 7     pictures.Add(new NewsModel() { Title= "Title2", Text = "Text2" });
 8     pictures.Add(new NewsModel() { Title= "Title3", Text = "Text3" });        
 9    //此处无需对DataContext赋值了
10 }

 

posted @ 2015-08-03 14:52  汪小饭  阅读(438)  评论(0编辑  收藏  举报