【问题标题】:Add items dynamically to ResourceDictionary. Convert File path to resource Key将项目动态添加到 ResourceDictionary。将文件路径转换为资源键
【发布时间】:2011-10-22 07:14:52
【问题描述】:

我的应用程序中有 ResourceDictionary。我需要将 c# 代码中的一些项目添加到此集合中:

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

作为资源的关键,我想使用文件路径。 例如:

c:\某个文件夹\@#file.txt

将此文件路径转换为有效的 ResourceDictionary Key 的最佳方法是什么?

【问题讨论】:

    标签: wpf silverlight file path


    【解决方案1】:
    <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>
    

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

    【讨论】:

    • 不。我的意思是我需要这样的密钥:Value。我不知道我需要删除哪些符号以及如何删除。
    • 如果我像 new Resource(){Key=path} 一样添加这个键。 WPF 会自动对符号进行编码,还是我需要在代码中进行编码?
    • @Evgeny 编码用于 Xaml。在后面的代码中你不必这样做。只需删除反斜杠即可。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 2017-10-08
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      相关资源
      最近更新 更多