首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WinRT中模拟Binding.FallbackValue

在WinRT中模拟Binding.FallbackValue
EN

Stack Overflow用户
提问于 2013-01-17 20:47:32
回答 1查看 459关注 0票数 3

有没有在WinRT中模拟Binding.FallbackValue行为的变通方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-29 18:30:51

可以使用附加的属性来完成此操作。我发现WinRT的许多限制都可以用它们来修复。

我没有代码,但是下面的代码如何:

代码语言:javascript
复制
<TextBox local:fallbackProperty="Text" local:fallbackPropertyValue="<NO BINDING SET"
  Text="{Binding random}" />

现在,在附加的属性处理程序中,通过反射签出fallbackProperty并订阅属性更改:

listener = DependencyPropertyChangedListener.Create(this.myTextBox,"Text");listener.ValueChanged += listener_ValueChanged;

如果你收到0/null,那么你可以从Text属性中调出绑定。并将其替换为fallbackPropertyValue。你仍然需要跟踪真正的绑定,并确保它在时机成熟时被交换回来。

此解决方案的限制是每个UI元素只能使用一个fallbackValue。但这可以很容易地扩展到"LIST of fallbackValues“。仅仅是语法就不再那么方便了。

遗憾的是,开发人员需要重新发明轮子,而WPF几乎已经做好了所有的事情,并且需要最少的黑客。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14379484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档