如何在设计时加载 WPF 资源字典

问题描述 投票:0回答:2
.net wpf
2个回答
9
投票

在 Blend 中,您可以针对这种情况使用设计时资源字典文件。 Visual Studio 可以读取该文件,但没有创建该文件的工具。但如果您不害怕项目文件,您可以手动完成。

将文件 DesignTimeResources.xaml 添加到您的项目中。
  1. 打开项目文件 (*.csproj) 并找到 DesignTimeResources.xaml 文件的注册。
  2. 将此注册替换为以下代码
  3. ResourceDictionary
现在您可以合并文件中所需的所有资源字典。编译器会忽略它,但设计器不会。

请参阅

不是我的文章

了解更多详情。


0
投票
<Page Include="Properties\DesignTimeResources.xaml" Condition="'$(DesignTime)'=='true' OR ('$(SolutionPath)'!='' AND Exists('$(SolutionPath)') AND '$(BuildingInsideVisualStudio)'!='true' AND '$(BuildingInsideExpressionBlend)'!='true')"> <Generator>MSBuild:Compile</Generator> <SubType>Designer</SubType> <ContainsDesignTimeResources>true</ContainsDesignTimeResources> </Page>

前缀来包含您的设计时资源:

d:

旁注:

<UserControl.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <d:ResourceDictionary Source="/OTHER_ASSEMBLY;component/Resource/YOUR_DESIGN_TIME_RESOURCE.xaml" /> <ResourceDictionary Source="/styles/YOUR_COMPILED_RESOURCE.xaml" /> <ResourceDictionary Source="/OTHER_ASSEMBLY;component/styles/YOUR_COMPILED_RESOURCE2.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </UserControl.Resources>
还可以用于设置 Control 上的设计时属性,例如

d:
,尽管它未在 IntelliSense 中列出...
ps:我确认它可以在最新的 VS 2022 上运行,我不确定它是否可以在较低版本上运行。

© www.soinside.com 2019 - 2024. All rights reserved.