gpt4 book ai didi

c# - 在 WinRT 中模拟 Binding.FallbackValue

转载 作者:行者123 更新时间:2023-11-30 17:56:16 24 4
gpt4 key购买 nike

是否有任何变通方法来模拟 WinRT 中的 Binding.FallbackValue 行为?

最佳答案

这可以通过附加属性来完成。我发现使用它们可以解决 WinRT 的许多限制。

我没有代码,但是这个呢:

<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 属性中换出 BINDING。并将其替换为 fallbackPropertyValue。您仍然需要跟踪真正的绑定(bind),并确保它在适当的时候被换回。

此解决方案的局限性在于每个 UI 元素只能使用一个 fallbackValue。但这可以很容易地扩展到“回退值列表”。只是语法不再那么方便了。

令人遗憾的是,开发人员需要重新发明轮子,而 WPF 几乎已经准备就绪,只需要最少的黑客攻击。

关于c# - 在 WinRT 中模拟 Binding.FallbackValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14379484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com