StaticResource是否为空,即使它是在XAML中定义的?

时间:2016-02-05 21:30:39

标签: c# wpf winforms com-interop

我有一点利基的情况,我完全没有想到任何人可以解决,但我想我会试一试:

我有一个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进行编译(在同一台机器上/没有任何解决方案发生变化)完美地工作。

有没有人有任何想法,甚至有助于如何调试?

0 个答案:

没有答案