博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UWP x:bind
阅读量:7109 次
发布时间:2019-06-28

本文共 1481 字,大约阅读时间需要 4 分钟。

原文:

x:bind 作为win10 新特性,它好在哪?为什么要用它。

最近做UWP,对代码进行重构,对它有了一些了解。

先说优点:

1.性能高,内存小(相比传统的binding)

没图没真相,我先上2张图。

x:bind又叫 "compiled data bindings", 它是在编译的时候就确定了。

以前的Binding,是运行时绑定,我想里面免不了各种反射。

由于x:bind是编译时,所以必须是强类型,不能再是object类型(以前都是给datacontext赋值),这个特性提高了性能速度,但也带了不便,后面会讲。

有点注意的是,由于是编译时,所以绑定的错误在编译时就会提示出来,方便调试。

 

2. 如果不制定源的话,默认绑定源是page或者是usercontrol。

public sealed partial class MainPage : Page    {        public string Title = "Hi x:bind";        public ViewModel VM;        public MainPage()        {            this.InitializeComponent();            VM = new ViewModel();        }    }    public class ViewModel    {        public string Name = "I'm a button";        public void Click()        {        }    }

上面就是普通的用法。

下面我讲一下怎么在模板里面绑定和怎么绑定事件。

这里注意一定要给模板制定DataType,不然编译就会报错,强类型,没办法

 

x:bind 可以绑定事件,在一定程度上简化之前用command 绑定的不便。

public sealed partial class MainPage : Page    {        public string Title = "Hi x:bind";        public ViewModel VM;        public MainPage()        {            this.InitializeComponent();            VM = new ViewModel();        }    }    public class ViewModel    {        public string Name = "I'm a button";        public void Click()        {        }    }

 

说了这么多优点,那么缺点呢,至少我看来,由于是强类型,x:bind没法做到动态绑定,绑定源一定要是个强类型,不能再是object类型。

只能说看需求,在可以得情况下,还是尽量使用x:bind,毕竟性能内存优势在那里摆着,实在不行,用binding也不是不可以的。

 

 

 

 

转载地址:http://kqlhl.baihongyu.com/

你可能感兴趣的文章
中国的UED们
查看>>
【Python】python 2 map() reduce()
查看>>
阿里云域名备案之如何填写真实性核验单
查看>>
查询设计分析
查看>>
OpenWRT/LEDE长期运行记录截图
查看>>
执行计划--WHERE条件的先后顺序对执行计划的影响
查看>>
F - 概率(经典问题)
查看>>
不老的神器:安全扫描器Nmap渗透使用指南【转】
查看>>
Java-NIO(六):Channel聚集(gather)写入与分散(scatter)读取
查看>>
CUBA如何新增ServiceBean
查看>>
【技术文档】jeecg3.7-maven搭建好开发环境入门
查看>>
centos7 关闭firewall安装iptables并配置
查看>>
搜索7--noi1804:小游戏
查看>>
聊一聊分布式锁的设计
查看>>
模运算的规则
查看>>
Nginx + Tomcat 动静分离实现负载均衡
查看>>
浏览器配置工具.bat
查看>>
Image Filter
查看>>
项目笔记:新增、编辑与删除
查看>>
前向星和链式前向星
查看>>