将项目动态添加到ResourceDictionary。将文件路径转换为资源键

问题描述:

我在我的应用程序中有ResourceDictionary。我需要从C#代码一些项目添加到此集合:将项目动态添加到ResourceDictionary。将文件路径转换为资源键

<UserControl.Resources> 
    <ResourceDictionary> 
    </ResourceDictionary> 
</UserControl.Resources> 

至于资源的关键我想使用文件路径。 例如:

C:\一些文件夹\ @#file.txt的

什么是文件路径转换为有效的ResourceDictionary重点最好卫?

<UserControl.Resources> 
    <ResourceDictionary xmlns:sys="clr-namespace:System;assembly=mscorlib"> 
     <sys:String x:Key="c&#x3A;some&#x20;folder&#x23;file.txt"> 
      whatever 
     </sys:String> 
    </ResourceDictionary> 
</UserControl.Resources>  
<Grid> 
    <Label Content="{StaticResource c&#x3A;some&#x20;folder&#x23;file.txt}" /> 
</Grid> 

删除反斜杠并对特殊字符进行编码。

+0

nope。我的意思是我需要有这样的键:值。我不知道我需要删除哪些符号以及如何。 – Evgeny

+1

@Evgeny检查更新后的答案 –

+0

如果我只是像新的资源(){键=路径}添加此密钥。 WPF会自动对符号进行编码,或者我需要在代码中进行编码? – Evgeny

CP上的这个article告诉你如何在运行时使用松散的XAML文件,以及其他一些文件。看一看。