gpt4 book ai didi

c# - 在 WPF 包 URI 中使用通配符的替代方法

转载 作者:行者123 更新时间:2023-11-30 17:26:14 25 4
gpt4 key购买 nike

我目前正在重构我的应用程序中的资源结构。 (Windows 桌面 WPF)

到目前为止,我使用单个 Icons.xaml 文件将所有图标存储为 xaml 矢量图。但随着时间的推移,文件变得非常困惑,我现在想将它分成多个文件。每个包含一组图标,将同一图标的变体组合在一起。 (例如:Lock.xaml 包含用于打开关闭 锁图标的图标)

在我的 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 只支持源参数中的通配符,它​​会变得更加简单和清晰。所以我可以用一行将所有 *.xaml 包含在 icons 文件夹中。

可悲的是通过阅读 pack uri docs我还没有读过任何有关通配符或类似内容的内容。

所以现在我想知道是否有其他方法可以让我将特定目录中的所有 *.xaml 文件(每个都只包含一个资源字典)合并到一个资源字典中无需明确指定每个文件。

或者我是否必须接受每次添加新的 Icons/Something.xaml 时都必须手动添加行以合并它?

最佳答案

Or do I just have to accept that each time I add a new Icons/Something.xaml I will have to manually add the line to merge it?

是的。要么是这样,要么是编写一些 C# 代码,在运行时检查特定文件夹中的所有文件,并创建要以编程方式合并的资源字典。

XAML 不支持这样做。这是一种标记语言。

关于c# - 在 WPF 包 URI 中使用通配符的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57058116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com