gpt4 book ai didi

wpf - 我的数据绑定(bind)在控件加载之前没有被评估,我在控件加载后得到属性更改事件,为什么?

转载 作者:行者123 更新时间:2023-12-01 06:47:03 24 4
gpt4 key购买 nike

我有一个非常有趣的问题,很长一段时间以来我一直在努力解决这个问题。

我是 WPF 和 MVVM 等相关事物的新手。

我有一个窗口,我在其中放置了一个用户控件,其中包含一个 TabControl。

此选项卡控件具有自定义单选按钮和组合框,它们公开了一些依赖属性,现在当这些自定义控件被加载时,作者检查值并执行“特定的事情”,这是预期的行为。但是在我的情况下,当控件被加载时,DPs 具有空值。我看到仅在我的情况下,在加载该控件后触发 DP 属性更改事件。它在其他窗口上工作正常。

这对我来说有点奇怪,因为我希望 DP 在加载控件之前会绑定(bind)到相关值,但我在这里看不到这种行为。

我在 MSDN 上读到应该在加载事件之前正确设置 DP,并且在示例应用程序中我看到它的行为符合 MSDN。

绑定(bind)正常进行,因为输出窗口中没有错误 + 我也收到了 DP - 属性更改事件,但这仅在加载后发生(我不知道为什么??)

任何帮助都将不胜感激。

编辑:

在我检查了输出跟踪后,我第一次打开对话框时得到了所有绑定(bind)的关注

无法使用绑定(bind)检索值并且不存在有效的后备值;改用默认值

我不知道为什么他们都找不到???
这是一个时间问题吗,我到处都在使用 DATA 上下文属性值继承.....

最佳答案

您的 DP 值是在加载之前设置的,但它们被设置为绑定(bind),直到 UI 加载之后才会评估(因此不要向 DP 提供值)。直接设置的值(通常在 XAML 中)在加载期间立即应用于 DP,因为该值保证可用。绑定(bind)通常依赖于诸如 DataContext 或其他可视化树元素(ElementName 或RelativeSource)之类的东西,这些元素在加载完成之前可能不可用,因此绑定(bind)评估过程稍后发生。

关于wpf - 我的数据绑定(bind)在控件加载之前没有被评估,我在控件加载后得到属性更改事件,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4002157/

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