我有一个类命名的动画,并在同一目录下名为animationResources.xaml资源字典:获取的类C#路径
我能找到的资源在字典的方式创建资源字典,代码提供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。我如何获得项目programaticaly(FilesPro2.1)的名称和Animations.cs(“C:\ Users ........ \ FilesPro2.1 \ classes \ storyboards \ animations.cs”)的路径这些类的名称也是相同的,并且资源字典的名称也是相同的。
编辑
我会尽量好一点遗憾解释我的自我。好的,所以也许无视标题问题。我正在构建几个项目,他们都有类似的动画。因此我想用代码创建故事板。当我这样做时,很难用c#设置缓动函数,因此我所做的就是用xaml创建缓动函数,并且使用c#创建基本动画,这也是一篇文章。当在单独的类上创建此动画时,如果合并字典,我可以从资源字典中找到资源。但为了让我合并字典,我需要知道路径。因为我计划将这个类和资源字典导出到多个项目,所以如果我不必知道路径,或者我不必为每个项目的app.xaml文件合并字典,那就会很好。我的目标是将animationResources.xaml和Animation.cs导入到每个项目中,然后期望(Antimation.cs)中的类从animationResources.xaml中找到资源。我不知道这是否可能,但我知道的唯一情况是,当导出animationResources.xaml和Antimation.cs时,它们将具有相同的名称,并且它们将位于同一目录中。这就是为什么我认为如果有可能找到Antimation.cs的路径,我将在哪里能够建立路径的字符串,以便合并项目名称等字典。
为什么不将.xaml文件作为程序集资源嵌入? – cdhowie
我该怎么做?对不起,我是新来wpf –
我想我不会合并字典,如果我做你说的对吗? –