のパスを取得します。私はアニメーションという名前のクラスと同じディレクトリに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を構築するためには何とかする必要があると思いますクラスのパスを取得し、プロジェクトの名前も取得します。私はそれらの2つの文字列を取得する場合、私はおそらくuriを構築することができます。どのようにしてプロジェクトの名前を得ることができますか(FilesPro2.1)、Animations.csのパス( "C:\ Users ........ \ FilesPro2.1 \ classes \ storyboards \ animations.cs")クラスの名前も同じで、リソース辞書の名前も同じになります。
EDIT
私は少し良く申し訳ありません私の自己を説明しようとします。それでは、おそらくタイトルの質問を無視してください。私はいくつかのプロジェクトを構築していて、それらのすべてに似たアニメーションがあります。その結果、私はコードでストーリーボードを作りたいと思っています。私がそれを行うと、C#でイージング関数を設定するのは難しいです。だから私がやったことはxamlでイージング関数を作成し、それが簡単なC#でエッセイを作成することです。別のクラスでこのアニメーションを作成するときに、辞書をマージすると、リソース辞書からリソースを見つけることができます。しかし、私が辞書をマージするために、私はその道を知る必要があります。このクラスとリソース辞書をいくつかのプロジェクトにエクスポートしようとしているので、パスを知らなくてもよいし、すべてのプロジェクトのapp.xamlファイルに辞書をマージする必要はありません。私の目標は、animationResources.xamlとAnimation.csをすべてのプロジェクトにインポートし、(Antimation.cs)のクラスがanimationResources.xamlからリソースを見つけることを期待することでした。それが可能かどうかわからないのは、animationResources.xamlとAntimation.csをエクスポートするときに同じ名前を持ち、同じディレクトリに配置されるということだけです。そのため、Antimation.csのパスを見つけることができれば、プロジェクトの名前などから辞書をマージするためにパスの文字列を作成できるようになります。
なぜ、.xamlファイルをアセンブリリソースとして埋め込みませんか? – cdhowie
どうすればいいですか?申し訳ありませんwpfの初心者です –
あなたが正しいことをすれば、辞書をマージする必要はありません。 –