资源无法解析(VS 2010 RC)

时间:2010-03-06 00:52:50

标签: .net wpf staticresource

我有WPF 4应用程序,它有许多UserControl,它们在子控件中共享样式。所以我在我的App.xaml中创建了许多样式。例如:

<Style x:Key="ViewTitle" TargetType="{x:Type Border}">
    <Setter Property="BorderBrush" Value="LightGray" />
    <Setter Property="HorizontalAlignment" Value="Stretch" />
    <Setter Property="VerticalAlignment" Value="Top" />
</Style>

然后在我的UserControls中,我使用StaticResource来引用它们,例如:

<Border Style="{StaticResource ViewTitle}">
    <TextBlock Margin="6,3,4,5" FontSize="18" FontWeight="Bold" Foreground="White" HorizontalAlignment="Left" Text="Host Management" />
</Border>

一切正常。问题是Visual Studio 2010 RC在StaticResource引用下放置了一个蓝色波浪形,并说:无法解析资源“ViewTitle”。

这是怎么回事?这是Visual Studio的问题还是我做错了什么?

2 个答案:

答案 0 :(得分:10)

从评论中的注释“它构建并运行良好”,这几乎肯定是Visual Studio的一个问题。不幸的是,VS WPF设计师臭名昭着,并且经常无法解决或处理完全合法的XAML。因此,唯一真正的测试是编译和运行:烦人,但只是一个人学会了的东西。

可能发现Expression Blend设计师更好地处理这种情况。 Blend的目标更多是成为一名视觉设计师(图形设计师是主要的目标用户),但Blend 3显着改进了对编辑XAML源代码的支持。值得一试。

答案 1 :(得分:1)

此问题已在Expression Blend 4中“解决”。

如果您的资源无法解析,Blend 4会自动为您提供查找设计时资源的选项。

Blend将创建一个DesignTimeResourceDictionary,它将从中访问您的资源。

但是,如果VS2010是您的主编辑,这对您没有多大帮助:(

Blend 4的解决方案:

http://adamkinney.wordpress.com/2010/05/04/design-time-resources-in-expression-blend-4-rc/