在合并字典中,我有一个名为“xy”的画笔,但用户可能有一个没有该键的主题,所以我试图删除该键,以便为它分配另一个画笔。问题是在以下情况下它会找到它,将其删除,然后继续查找密钥:
if (Application.Current.Resources.Contains("xy"))
Application.Current.Resources.Remove("xy"); //triggered
if (Application.Current.Resources.Contains("xy"))
Application.Current.Resources.Remove("xy"); //also triggered
if (Application.Current.Resources.Contains("xy") == false)
AssignNewKey(); //never reached
编辑:“xy”画笔被添加为 MergedDictionary。放置断点并查看结果Application.Current.Resources
甚至没有列出 xy 画笔,但包含将是真的