如何在项目外使用像资源文件夹这样的图片文件夹?在 C#

问题描述 投票:0回答:1

我有 2 个 WPF 项目 Store 和 AdminPanel,所以我希望这两个项目都可以访问包含解决方案文件夹中项目之外的图像的文件夹。在 AdminPanel 中,用户可以将产品图片添加到此文件夹,在 Store 中,它就像资源文件夹一样使用它,并显示每个产品的图片。

我是所有这些东西的新手,所以我不明白必须怎么做。

c# wpf image resources
1个回答
0
投票

在没有更多上下文的情况下,很难完整回答。我将用我认为你要问的内容重述你的问题,这样你就可以解释我是否回答不正确。

听起来你在问:什么策略可以用于单独的 c# 应用程序来协调读取/写入图像(或任何东西)到 a 文件夹?

这里不清楚的是,如果你的意思是用户选择了一个文件夹,并且所有读/写都发生在那里 - 或者 - 如果你的意思是用户从“AdminPanel”中选择的任何内容都被添加到“Store”可以读取的某个文件夹中。

无论哪种情况,这里有一些可能对您的道路有所帮助的事情:

  1. 使用 AppData 在应用程序之间进行协调。这具有允许您的两个应用程序编写而无需请求授权的独特优势。 AppData 有两种类型,远程用于您想要在同一用户登录的机器之间协调的事物,本地用于仅在此计算机上(要么
    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
    用于远程或
    Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
    用于本地)。在这种情况下,每个应用程序都可以从同一位置写入和读取,即
    Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyAppName")
    。在您的情况下,“商店”甚至可以监视该文件夹并在添加内容时自动响应(请参阅https://learn.microsoft.com/en-us/dotnet/api/system.io.filesystemwatcher?view=net- 7.0 有关文件监视的更多信息),而“AdminPanel”可以让用户从任何地方选择图像或文件夹,然后在内部它将图像复制到该应用程序数据位置。
  2. 如果您希望用户在“AdminPanel”中指定一个文件夹,然后让“Store”只从该文件夹中读取,您可以类似于 1,让“AdminPanel”将配置文件写入包含该文件夹的共享 appdata 位置完整位置,“存储”可以读取该配置并读取该文件夹 - 或者您可以通过使用注册表来完成同样的事情。 (这两种情况也可以考虑看文件)
© www.soinside.com 2019 - 2024. All rights reserved.