C# 获取类c的路径#

C# 获取类c的路径#,c#,wpf,C#,Wpf,我在同一目录中有一个名为Animations的类和一个名为animationResources.xaml的资源字典: 我在该字典中查找资源的方法是创建一个资源字典,其中的代码提供animationResources.xaml的路径: ResourceDictionary dict = new ResourceDictionary(); Uri uri = new Uri("/FilesPro2.1;component/Classes/Storyboards/animationResourc

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

我在该字典中查找资源的方法是创建一个资源字典,其中的代码提供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);
我计划导出此项目,因此实际项目名称将不同,资源字典的路径也将更改。我知道的唯一一件事是类和资源字典将位于同一个目录中,在本例中,它是目录故事板(请看第一张图片),因此为了构建Uri,我想我需要以某种方式获取类的路径,还需要获取项目的名称。如果我得到这两个字符串,我可能就能够构建uri。如何以编程方式获取项目名称(FilePro2.1)和Animations.cs(“C:\Users……。\FilePro2.1\classes\Storyboard\Animations.cs”)的路径。此外,类的名称将相同,资源字典的名称也将相同


编辑


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

我也是WPF的新手。您在问题“我能够找到资源的方式…”中提到,您是否也意识到仅通过使用XAML就可以找到资源?在App.xaml文件中,可以添加应用程序资源,如下所示:



然后,您可以将这些资源与{StaticResource resourceName}一起使用。我本想将此作为注释添加到您的问题中,但我从未想出如何在注释中格式化代码,否则很难阅读。

为什么不将.xaml文件作为程序集资源嵌入?我该怎么做?抱歉,我是wpfI新手,如果我按照你说的做了,我想我就不必合并字典了?在VS中转到文件的属性,将编译操作设置为“嵌入为资源”,并给它一个名称——然后使用
Assembly.GetManifestResourceStream
使用资源名称获取文件流。谢谢。我需要在多个项目中使用这个类和资源字典,这就是为什么我想知道是否有一种方法可以通过知道.xaml文件的相对路径在资源字典中找到资源。如果我不需要在多个项目上这样做就好了…我会编辑我的问题,因为我认为我没有正确地解释自己。。。谢谢你的帮助though@Tod:您可以将代码放在注释中,方法是在代码周围加上记号(例如“此处的代码”)。虽然无法获得多行格式,但可以使某些东西
看起来像code