我的应用程序允许用户将一些自定义 XAML 标记放入文本框中。当我的应用程序加载时,我使用 XamlReader.Parse 加载树。然后,我用这些自定义资源覆盖 MergedDictionaries 中的一些资源。
这很好用,当用户输入无效的 Xaml 时,我可以捕获 XamlParseException。当用户输入不正确的属性值(如边框颜色)时,就会出现问题。如果他们输入 Gray 而不是 Gray,则没有例外,并且 UI 无法显示。实际上,该应用程序似乎已冻结。
这个问题也可以在 VS Designer 中复制。只需输入不正确的颜色值(忽略 Intellisense)。VS中不会有警告。
有什么方法可以捕捉到这个不正确的属性值?