我有一点利基的情况,我完全没有想到任何人可以解决,但我想我会试一试:
我有一个Windows窗体用户控件,它包含一个ElementHost
控件,其Child
属性设置为WPF / XAML用户控件。
我遇到了一些奇怪的行为,其中XAML包含的内容如下:
<UserControl>
<UserControl.Resources>
<somenamespace:myresource x:Key="foo" />
</UserControl.Resources>
<Grid DataContext="{StaticResource foo}">
...
</Grid>
</UserControl>
我在运行时得到XamlParseException
,要求我提供一个值,即使它已在上面明确定义。
我可以看到正在调用InitializeComponent()
,但这就是我可以步骤。
在我的代码中,在WPF / XAML用户控件中,如果在调用InitializeComponent()
之前我添加:
this.Resources["foo"] = new myresource()
一切都很好。
只是为了进一步混淆问题,这只发生在我使用Visual Studio 2015编译代码时 - 使用VS2013进行编译(在同一台机器上/没有任何解决方案发生变化)完美地工作。
有没有人有任何想法,甚至有助于如何调试?