c# - 如何在wpf中浏览整个资源文件。查找所有键并使用该键制作图像
问题描述
假设我的项目中的资源字典很少。他们命名为 1,2,3 等...从后面的代码中我想转到“1”资源文件,找到所有“x:keys”并按该键图像制作...每个资源字典文件看起来像这样,但是有很多这样的代码:
<DrawingImage x:Key="Image1" x:Name="Image1">
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 H64 H0 Z">
<DrawingGroup.Transform>
<TranslateTransform X="0.091821998357772827" Y="0" />
</DrawingGroup.Transform>
<DrawingGroup Opacity="1" Transform="1,0,0,1,1,1.01">
<DrawingGroup Transform="1,0,0,1,6.03,28.74">
<GeometryDrawing Geometry="F1 M64 26.4,0 0,31.3z">
<GeometryDrawing.Pen>
<Pen Brush="#FF000000" Thickness="1" StartLineCap="Flat" EndLineCap="Flat" LineJoin="Miter" />
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingGroup>
<DrawingGroup Transform="1,0,0,1,2.82,-0.01">
<GeometryDrawing Geometry="F1 .4,21.8 53.1,45.7 29.7,49.9 6.7,54 0.1,29.7 0.1,29.7 0.1,29.7 50.4,21.8z">
<GeometryDrawing.Pen>
<Pen Brush="#FF000000" Thickness="1" StartLineCap="Flat" EndLineCap="Flat" LineJoin="Miter" />
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingGroup>
<DrawingGroup Transform="1,0,0,1,0,20.91">
<GeometryDrawing Geometry="F1 0,15.4 0,0z" />
</DrawingGroup>
</DrawingGroup>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
这段代码是从 Xaml 到 SVG 转换器制作的,所以我有一些库,其中包含来自不同资源字典的图像,并希望将它们添加到集合中,然后通过 ViewModel 等绑定它......每个资源当然都有唯一的 x :钥匙。我尝试将它们添加到 StackPanel 中,然后通过该 stackPanel,例如
foreach(var image in StackPanel)
{
Image image1 = new Image();
image1.Source = image;
MyCollection.Add(image)
}
但这有点乱。希望你们能帮助我找到更好的解决方案!
解决方案
您可以在代码中加载资源字典并像这样遍历它们的键:
if (!(Application.LoadComponent(
new Uri("YourUriToYourResourceDictionary.xaml",
UriKind.Relative)) is ResourceDictionary rd))
{
return;
}
var keys = rd.Keys;
foreach(var key in keys)
{
//Use Application.Current.TryFindResource(key) and do whatever you need to do.
}
推荐阅读
- angular - Angular:监听并显示我在服务中获得的数据
- php - CSV 转换为 int 在 Laravel 中返回 0
- node.js - 使用 sequelize 和 typescript 进行自动迁移
- javascript - 为什么即使在客户离开房间并加入另一个房间后,消息也会发送到所有房间?烧瓶插座
- c++ - mlpack : FFN<> 中的索引超出范围
- python - 装饰器自动调用
- python-3.x - 如果值为 nan,则从另一个值获取值
- javascript - 如何获取数组中具有相同“父”元素的项目数?
- python - 关于请求 url 响应 404 的问题,但在浏览器和抓取标签中成功
- r - R包gbm中使用哪个损失函数进行多项分布?