依赖属性强制绑定问题

2023-11-27

我同时安装了 VS2008 和 VS2010,我看到一个非常奇怪的行为

在 VS2008 中,我有一个简单的 WPF 应用程序:

<TextBox x:Name="textbox" Text="{Binding Path=MyProperty,Mode=TwoWay}"></TextBox>

and

public Window1()
{
    InitializeComponent();
    DataContext = this;
}
public string MyProperty
{
    get { return (string)GetValue(MyPropertyProperty); }
    set { SetValue(MyPropertyProperty, value); }
}
public static readonly DependencyProperty MyPropertyProperty = DependencyProperty.Register("MyProperty", typeof(string), typeof(Window1), new PropertyMetadata("default",null,Coerce));

private static object Coerce(DependencyObject d, object baseValue)
{
    return "Coerced Value";
}

当我在文本框中输入随机字符串并点击选项卡时,我希望将 textbox.Text 重置为“强制值”。如果我调试,我会发现应用程序在 Coerce 函数中中断,但 UI 未更新。

有趣的是,同样的代码可以在 VS2010 中运行,UI 会使用强制值进行更新。 有人知道发生了什么事吗?

这是 WPF 错误吗?或者我错过了什么?


您必须通过强制更新UpdateTarget()。看一眼http://social.msdn.microsoft.com/forums/en-US/wpf/thread/c404360c-8e31-4a85-9762-0324ed8812ef/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

依赖属性强制绑定问题 的相关文章

  • 调用许多网络服务的最佳方式?

    我有 30 家子公司 每家都实施了他们的 Web 服务 使用不同的技术 我需要实现一个Web服务来聚合它们 例如 所有子公司的Web服务都有一个名为的Web方法GetUserPoint int nationalCode 我需要实现我的网络服
  • 从 Invoke 方法获取 RETURN

    我正在尝试从另一个线程上的列表框项目中读取值 我尝试创建一种新方法来运行调用命令 我可以设法将命令发送到列表框 例如通过调用方法添加 但我似乎无法得到响应 我似乎无法获取该项目的值 我尝试了几种方法 一旦我将它从空变为字符串 事情就开始变得
  • Nullable 是不可能的,为什么不呢? [复制]

    这个问题在这里已经有答案了 如果这是一个愚蠢的问题 请原谅 我正在尝试更好地理解 Net 中的 Nullable 类型 从我从 Microsoft 源代码 使用 ReSharper 中注意到的内容 我了解到 Nullable 是一个结构 而
  • 通过 SOAP 的 Gmt php 或 UTC C# 等效项

    is C DateTime UtcNow和 PHPdate c 是等价的 我怀疑 因为当我肥皂时 我得到了 C
  • 为什么在 C++ 中声明枚举时使用 typedef?

    我已经很多年没有写过任何 C 了 现在我正试图重新开始 然后我遇到了这个并考虑放弃 typedef enum TokenType blah1 0x00000000 blah2 0X01000000 blah3 0X02000000 Toke
  • 具有多个谓词的 C++11 算法

    功能如std find if来自algorithmheader 确实很有用 但对我来说 一个严重的限制是我只能为每次调用使用 1 个谓词count if 例如给定一个像这样的容器std vector我想同时应用相同的迭代find if 多个
  • 以下 PLINQ 代码没有改进

    我没有看到使用以下代码的处理速度有任何改进 IEnumerable
  • 如何调试在发布版本中优化的变量

    我用的是VS2010 我的调试版本工作正常 但我的发布版本不断崩溃 因此 在发布版本模式下 我右键单击该项目 选择 调试 然后选择 启动新实例 此时我看到我声明的一个数组 int ma 4 1 2 8 4 永远不会被初始化 关于可能发生的事
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • C 类型命名约定,_t 或 ALLCAPS

    我一直想知道是否有任何命名约定 例如何时对类型使用全部大写以及何时追加 t 什么时候不使用任何东西 我知道当时 K R 发布了各种有关如何使用 C 的文档 但我找不到任何相关内容 在 C 标准库类型中 t看起来漂亮占主导地位 time t
  • “没有合适的默认构造函数可用”——为什么会调用默认构造函数?

    我已经查看了与此相关的其他一些问题 但我不明白为什么在我的情况下甚至应该调用默认构造函数 我可以只提供一个默认构造函数 但我想了解它为什么这样做以及它会产生什么影响 error C2512 CubeGeometry no appropria
  • 编写具有多种类型的泛型扩展方法时的类型推断问题

    我正在为 IEnumerable 编写一个通用扩展方法 用于将对象列表映射到另一个映射对象列表 这就是我希望该方法的工作方式 IList
  • 在 C++ 代码 gdb 中回溯指针

    我在运行 C 应用程序时遇到段错误 在 gdb 中 它显示我的一个指针位置已损坏 但我在应用程序期间创建了 10 万个这样的对象指针 我怎样才能看到导致崩溃的一个 我可以在 bt 命令中执行任何操作来查看该指针的生命周期吗 谢谢 鲁奇 据我
  • 在 Qt 中播放通知(频率 x)声音 - 最简单的方法?

    Qt 5 1 或更高版本 我需要播放频率为 x 的通知声音 n 毫秒 如果我能像这样组合音调那就太好了 1000Hz 持续 2 秒 然后 3000Hz 持续 1 秒 最简单的方法是使用文件 WAV MP3 例如如此处所述 如何用Qt播放声音
  • 如何调用与现有方法同名的扩展方法? [复制]

    这个问题在这里已经有答案了 我有这样的代码 public class TestA public string ColA get set public string ColB get set public string ColC get se
  • 不使用放置 new 返回的指针时的 C++ 严格别名

    这可能会导致未定义的行为吗 uint8 t storage 4 We assume storage is properly aligned here int32 t intPtr new void storage int32 t 4 I k
  • 初始化列表在 VC10 中不起作用

    我在 VC 2010 中编写了这个程序 class class1 public class1 initializer list
  • 在 C 中使用 #define 没有任何价值

    If a define没有任何价值地使用 例如 define COMMAND SPI 默认值是0吗 不 它的评估结果为零 从字面上看 该符号被替换为空 然而 一旦你有了 define FOO 预处理器条件 ifdef FOO现在将是真的 另
  • 运行 xunit 测试时无法将输出打印到控制台窗口

    public class test2InAnotherProject private readonly ITestOutputHelper output public test2InAnotherProject ITestOutputHel
  • 如何在c中断言两个类型相等?

    在 C 中如何断言两种类型相等 在 C 中 我会使用 std is same 但搜索 StackOverflow 和其他地方似乎只能给出 C 和 C 的结果 在C中没有办法做到这一点吗 请注意 这不是询问变量是否具有某种类型 而是询问两个类

随机推荐

  • git Remote prune、git prune、git fetch --prune 等有什么区别

    我的情况是这样的 在同一个存储库上工作的人已经从他的本地和远程存储库中删除了一个分支 大多数在 Stack Overflow 或其他网站上询问此类问题的人都会遇到分支问题仍然显示在远程跟踪分支列表中的问题git branch a在底部 ma
  • 按 IN 序列对 MySQL 结果排序?

    当我使用 IN 从表中选择一组行时 例如 SELECT x y x z FROM x WHERE x id IN 23 55 44 12 有没有 SQL 技巧可以让它们按照 IN 集中给定的顺序返回 因此 在示例中 假设 x 具有 id 为
  • 垂直居中响应式 iframe

    我正在使用该技术此处描述使 iframe 视频 响应 本质上 iframe 绝对定位在宽度为 100 的包装元素内 包装元素根据视频的宽高比设置填充 embed responsive position relative video heig
  • $ 在 Haskell 中意味着什么/做什么?

    当您编写稍微复杂的函数时 我注意到 用得很多 但我不知道它的作用是什么 是中缀 应用程序 它定义为 a gt b gt a gt b f x f x or f x f x or id 它对于避免额外的括号很有用 f g x f g x 它的
  • 检查字符串是否是字符串列表中的子字符串的最快方法

    我有一个包含 4000 个不同名字的静态列表 因此列表的长度很大 4000 但每个字符串大约有 4 到 12 个字符 它们是名字 然后 我有一个从数据库检索到的 10000 个字符串的动态列表 这些字符串可能具有任意长度 我需要针对 100
  • 为什么 Window.FindName() 没有发现子 UserControl 中按钮的 x:Name?又名名称范围如何工作?

    因此 在下面的示例代码中 我创建了一个 UserControl UserControldChild 它是主窗口 Window1 xaml 的子窗口 为什么FindName 方法在下面的代码中找不到 myButton 这一定与WPF XAML
  • 在 Rails 应用程序中记录 RestClient

    我想调试我的 Rails 应用程序发出的请求休息客户端 RestClient 文档说 要启用日志记录 您可以 使用 ruby Logger 设置 RestClient log 或者设置一个环境变量以避免修改代码 在这种情况下 您可以使用文件
  • UUID 有多独特?

    使用 UUID 唯一标识某些内容 我将其用于上传到服务器的文件 有多安全 据我了解 它是基于随机数的 然而 在我看来 只要有足够的时间 它最终会重演 纯粹是偶然 是否有更好的系统或某种类型的模式来缓解这个问题 非常安全 the annual
  • Java(Android)中自动检测文本的语言[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 对于我的应用程序 我希望给定一个文本 检测其语言 例如 ISO 代码和机会 我想知道是否有某种网络服务或java库可以这样做 提前致谢 使用二元分析
  • movl $_start, %eax 是什么意思?

    后面跟一个标识符是什么意思 x86 汇编 AT T 语法 在 AT T 语法中 意味着将后面的内容视为立即常量而不是内存地址 换句话说 movl start eax 加载符号的地址 start进入 eax movl start eax 从内
  • 如何为 python 获取 PIP [重复]

    这个问题在这里已经有答案了 我正在尝试安装 pip py 每当我搜索安装程序时 它都会打开一个新选项卡 其中包含代码 但我无法下载任何内容 我打算做什么 我打算将代码复制粘贴到Python解释器中吗 如何让它适用于 Windows 7 32
  • 在 Python 2.7 中从数字列表中删除一组索引的最有效方法是什么?

    所以我想知道如何使用 Python 2 7 最有效地获取用于表示索引的值列表 如下所示 但长度最多为 250 000 indices 2 4 5 并从更大的列表中删除该索引列表 如下所示 3 000 000 项 numbers 2 6 12
  • 如何在Linux上高效监控目录变化?

    我正在使用 Magento 有一个功能可以将 CSS 和 Javascript 合并到一个大文件中 不管其优点和缺点 都存在以下问题 最终文件会在多个级别进行缓存 包括但不限于 亚马逊云前 代理服务器 客户端浏览器缓存 Magento 使用
  • Aurelia 语义下拉菜单

    我正在尝试在 Aurelia 中使用组合框 以便我的用户可以输入下拉列表并搜索内容 我试图合并 Semantic 创建的下拉菜单 但是当我在元素上调用下拉菜单时 它不会运行代码 因此它仍然是一个正常的下拉菜单 就像这里的状态示例一样 htt
  • R 从面板中删除行,同时保持面板平衡

    有没有一种优雅的方法来平衡不平衡的面板数据集 我想从一个不平衡的面板 即 有些人丢失了一些数据 开始 最后得到一个平衡的面板 即 所有的人都没有丢失任何数据 下面是一些示例代码 正确的最终结果是保留对 Frank 和 Edward 的所有观
  • 如何从 Blazor 服务器端下载内存中文件

    有没有办法下载动态生成的文件在记忆中 in Blazor 服务器端不需要将其存储在文件系统上 解决方案是添加Web Api控制器到 Blazor 服务器端应用程序中 Add Controllers DownloadController cs
  • Android TabHost 上的徽章

    我想实现与 iPhone 中相同的功能 我在底部栏中实现了与 iPhone 中相同的自定义 Tabhost 我可以设置 正常 选定状态的两个图标 但我需要带有数量的动态图标 通知如图片所示 Thanks Android ViewBadger
  • 增强named_mutex和remove()命令

    我有一个可以由多个线程创建的类 但在一个函数中 代码需要受到保护 因此我决定使用 boost 进程间互斥体 每个类在其构造函数中创建或打开相同的互斥体 MyClass MyClass boost interprocess named mut
  • 对于布尔字段,其 getter/setter 的命名约定是什么?

    Eg boolean isCurrent false 你将它的 getter 和 setter 命名为什么 假设你有 boolean active 访问器方法是 public boolean isActive return this act
  • 依赖属性强制绑定问题

    我同时安装了 VS2008 和 VS2010 我看到一个非常奇怪的行为 在 VS2008 中 我有一个简单的 WPF 应用程序