星空网 > 软件开发 > ASP.net

【转】【译】在 Windows 10 应用程序中注册任意依赖属性的改变

原文地址:http://visuallylocated.com/post/2015/04/01/Registering-to-any-DependencyProperty-changing-in-Windows-Apps.aspx

 

仍然有许多证明指出,在 Windows Runtime 的 XAML 里,缺失了很多 WPF 里的特性。其中一项是在 WPF 中,可以在依赖属性发生改变时获取到通知(链接)。现在,得益于 DependencyObject 类的 RegisterPropertyChangedCallback 这个新方法(链接),这项功能能够在 Windows 应用程序上实现了。这将为我们打开一个充满机会的新世界。当我们创建自定义控件或者对现有控件进行包装的时候,这项功能显得十分的有用。

与其去深入一些复杂的东西,我更倾向于使用一个快速的例子。一个拥有文本的文本框,但是没有办法在文本发生改变时得到通知。当然,我们也可以使用数据绑定,绑定到 Text 属性上,但是,现在请先忽略它。

现在,我们创建两个文本框和一个按钮。

<StackPanel>  <TextBlock x:Name="CounterText"/>  <Button Content="Click me" Click="OnButtonClicked"/>  <TextBlock x:Name="DuplicateTextBlock"/></StackPanel>

当这个按钮被点击的时候,我们将设置第一个文本框的文本。

private int _counter; private void OnButtonClicked(object sender, RoutedEventArgs e){  CounterText.Text = string.Format("Clicked {0} times", ++_counter);}

同时,我们也为 CounterText 这个文本框注册一个 Text 属性变化的回调函数。在回调函数里,我们将设置另一个文本框的文本。

public MainPage(){  this.InitializeComponent();   CounterText.RegisterPropertyChangedCallback(TextBlock.TextProperty, OnTextChanged);} private void OnTextChanged(DependencyObject sender, DependencyProperty dp){  var t = (TextBlock)sender;   DuplicateTextBlock.Text = t.Text;}

现在,你每一次点击按钮,都会设置第一个文本框的文本,并且回调函数将会触发并设置第二个文本框的文本!

【转】【译】在 Windows 10 应用程序中注册任意依赖属性的改变




原标题:【转】【译】在 Windows 10 应用程序中注册任意依赖属性的改变

关键词:Windows

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

运营秘籍:亚马逊卖家应该这样利用视频提高店铺转化率!:https://www.ikjzd.com/articles/59818
跨境电商卖家六大进货渠道分析:https://www.ikjzd.com/articles/59819
国际空运和国际快递的6个主要区别:https://www.ikjzd.com/articles/59820
提升流量转化:看看这几个Facebook发帖小技巧:https://www.ikjzd.com/articles/59823
什么是ERP?给跨境电商卖家选择ERP系统的建议:https://www.ikjzd.com/articles/59826
图文详解:亚马逊图片该怎么做?:https://www.ikjzd.com/articles/59827
加拿大本地账户开立是否需要加拿大身份? :https://www.kjdsnews.com/a/1842166.html
加拿大本地账户开立是否需要加拿大身份? :https://www.xlkjsw.com/news/92266.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流