gpt4 book ai didi

c# - 获取类c#的路径

转载 作者:太空宇宙 更新时间:2023-11-03 11:33:37 26 4
gpt4 key购买 nike

我在同一目录中有一个名为 Animations 的类和一个名为 animationResources.xaml 的资源字典:

enter image description here

我能够在该字典中找到资源的方法是创建一个资源字典,其中的代码提供 animationResources.xaml 的路径:

 ResourceDictionary dict = new ResourceDictionary();
Uri uri = new Uri("/FilesPro2.1;component/Classes/Storyboards/animationResources.xaml", UriKind.Relative);
dict.Source = uri;
Application.Current.Resources.MergedDictionaries.Add(dict);

我打算导出这个项目,所以实际的项目名称会不同,资源字典的路径也会改变。我唯一知道的是类和资源字典将位于同一目录中,在这种情况下它是 Storyboards 目录(看第一张图片)所以为了构建 Uri,我想我需要以某种方式获取类的路径并获取项目的名称。如果我得到这两个字符串,我可能能够构建 uri。如何以编程方式获取项目名称 (FilesPro2.1) 和 Animations.cs 的路径(“C:\Users.......\FilesPro2.1\classes\storyboards\animations.cs”)类的名称也将相同,资源字典的名称也将相同。


编辑

抱歉,我会尽量解释自己。好的,也许可以忽略标题问题。我正在构建几个项目,它们都有相似的动画。因此我想用代码创建 Storyboard。当我这样做时,很难用 c# 设置缓动函数,因此我所做的是用 xaml 创建缓动函数,它更容易,并用 c# 创建一个基本动画,这也是论文。在单独的类上创建此动画时,如果合并词典,我可以从资源词典中找到资源。但是为了合并字典,我需要知道路径。因为我计划将此类和资源字典导出到多个项目,所以如果我不必知道路径或者我不必为每个项目合并 app.xaml 文件中的字典,那将会很好。我的目标是将 animationResources.xaml 和 Animation.cs 导入每个项目,然后期望 (Antimation.cs) 中的类从 animationResources.xaml 中找到资源。我不知道这是否可能,我唯一知道的是,在导出 animationResources.xaml 和 Antimation.cs 时,它们将具有相同的名称并且位于同一目录中。这就是为什么我认为,如果可以找到 Antimation.cs 的路径,我将能够构建路径的字符串,以便合并字典,重新列出项目名称等。

最佳答案

我对 WPF 也比较陌生。您在问题中说“我能够找到资源的方式……”您是否也知道仅通过使用 XAML 就可以找到资源?在您的 App.xaml 文件中,您可以添加应用程序资源,如下所示:

 <Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="StoryBoards\anmationResources.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

</Application.Resources>

然后您可以将这些资源与 {StaticResource resourceName} 一起使用。我会把它作为评论添加到你的问题,但我从来没有想过如何在评论中格式化代码,否则很难阅读。

关于c# - 获取类c#的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6970568/

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