我目前正在重构应用程序中的资源结构。 (Windows桌面WPF)
到目前为止,我只用一个Icons.xaml
文件将我的所有图标存储为xaml-vector图。但是随着时间的流逝,文件变得非常混乱,我现在想将其拆分为多个文件。每个图标包含一组图标,将同一图标的变体组合在一起。 (例如:Lock.xaml
包含 open 和 closed 锁定图标的图标)
在我的Icons.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Icons/Log.xaml"></ResourceDictionary>
<ResourceDictionary Source="Icons/Disconnect.xaml"></ResourceDictionary>
<ResourceDictionary Source="Icons/Accept.xaml"></ResourceDictionary>
<ResourceDictionary Source="Icons/Lock.xaml"></ResourceDictionary>
(...)
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
我注意到,如果数据包URI仅在source参数中支持通配符,则将变得更加轻松和整洁。因此,我将所有*.xaml
都包含在图标文件夹中,并用单行表示。
不幸的是,通读pack uri docs后,我还没有阅读任何有关通配符或类似内容的信息。
所以现在我想知道是否有其他方法可以使我将特定目录中的所有*.xaml
文件(每个都仅包含一个资源字典)合并到一个资源字典中,而无需明确指定每个文件
还是我只接受每次添加新的Icons/Something.xaml
时都必须手动添加行以合并它?
答案 0 :(得分:1)
还是我只接受每次添加新的Icons / Something.xaml时都必须手动添加行以将其合并吗?
是的。就是这样,或者编写一些C#代码在运行时检查特定文件夹中的所有文件,并创建要以编程方式合并的资源字典。
XAML不支持这样做。这是一种标记语言。