我正在尝试在XAML中创建资源别名,如下所示:
当我将鼠标悬停在代码中的
我完全被卡住了。为什么WPF会抱怨这段代码呢?请问有解决方法吗?
注意:我在.NET 3.5 SP1中使用WPF。
更新1: 我应该澄清一点,我确实收到编译器错误(在错误列表中提到的那些消息),所以这不仅仅是一个设计问题。
更新2: 以下是完整的相关代码,位于App.xaml(在下):
<UserControl.Resources>
<StaticResourceExtension x:Key="newName" ResourceKey="oldName"/>
</UserControl.Resources>
oldName
简单地指代了一个在 App.xaml
中定义的类型为 Image
的资源。
据我所知,这是正确的做法,并且应该可以正常工作。然而,XAML 代码给出了一个极其不明确的错误:
"The application XAML file failed to load. Fix errors in the application XAML before opening other XAML files."
当我将鼠标悬停在代码中的
StaticResourceExtension
行上时(该行下有波浪线),就会出现此错误。实际的错误列表中生成了几个其他错误,但似乎都不太相关和荒唐无稽(例如“当前上下文中不存在'InitializeComponent'的名称”),因为当删除该行时,它们全部消失。我完全被卡住了。为什么WPF会抱怨这段代码呢?请问有解决方法吗?
注意:我在.NET 3.5 SP1中使用WPF。
更新1: 我应该澄清一点,我确实收到编译器错误(在错误列表中提到的那些消息),所以这不仅仅是一个设计问题。
更新2: 以下是完整的相关代码,位于App.xaml(在下):
<Image x:Key="bulletArrowUp" Source="Images/Icons/bullet_arrow_up.png" Stretch="None"/>
<Image x:Key="bulletArrowDown" Source="Images/Icons/bullet_arrow_down.png" Stretch="None"/>
并在 MyUserControl.xaml 文件中(在 UserControl.Resources
下):
<StaticResourceExtension x:Key="columnHeaderSortUpImage" ResourceKey="bulletArrowUp"/>
<StaticResourceExtension x:Key="columnHeaderSortDownImage" ResourceKey="bulletArrowDown"/>
当然,这些是生成错误的代码行。