App.xaml中的样式和资源将不适用于Visual Studio Extension中的运行时控件

时间:2015-02-09 23:19:20

标签: c# wpf visual-studio

我正在构建一个visual studio扩展,我正在尝试使用我创建的一些应用程序范围的样式。通常,在Visual Studio生成的WPF应用程序中,会有一个App.xaml,您可以在其中指定应用程序资源。

创建扩展程序时,未创建其中一个文档。我以为我可以添加自己的,并能够使用它的资源,因为我很高兴。我做了一个,我可以在其他.xaml中访问其资源(参见下面的一个小片段)

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         x:Class="Applcation.App">
<Application.Resources>
    <BitmapImage x:Key="CrossIcon" UriSource="Resources/CrossIcon.png" />
    <BitmapImage x:Key="ErrorIcon" UriSource="Resources/ErrorIcon.png" />
    <BitmapImage x:Key="FlareLogo30" UriSource="Resources/Flare Logo H30.png" />
    <BitmapImage x:Key="PlussIcon" UriSource="Resources/PlussIcon.png" />
    <BitmapImage x:Key="WarningIcon" UriSource="Resources/WarningIcon.png" />
    <BitmapImage x:Key="ThumbsUpIcon" UriSource="Resources/ThumbsUpIcon.png" />

</Application.Resources>

然后我可以继续在设计师中使用它们,它们将正确显示。

<Image Grid.Row="0" Grid.Column="0" Name="Image" Source="{DynamicResource WarningIcon}" Margin="10,10,10,10"/>

问题出现在我启动visual studio调试实例并加载我的扩展时,这些资源似乎都无法访问,因为图像不会显示,并且不会应用样式。这些图像也在其构建操作中指定为资源。

据推测,为了注册我的全球资源,我还需要做些什么。我有谷歌,但未能找到有关该主题的任何文件。为了在运行时识别这些资源,我该怎么做?

1 个答案:

答案 0 :(得分:0)

最后我使用了一个基本的ResourceDictionary,我已经包含在我的所有xaml中。这会正确加载图像和样式。