1
XAMLファイルで定義されているスタイルがあるとします。
そのXAMLファイルをリソースとしてクラスライブラリにコンパイルしたいとします。コード内のリソースからスタイルを設定する
次に、私はそのスタイルを必要とするコントロール(カスタムtelerikグリッドビューの列)を持っています。 コードでは、そのXAMLリソースを読み込み、そのインスタンスからStyleオブジェクトをロードします。どうすればいい?
XAMLファイルで定義されているスタイルがあるとします。
そのXAMLファイルをリソースとしてクラスライブラリにコンパイルしたいとします。コード内のリソースからスタイルを設定する
次に、私はそのスタイルを必要とするコントロール(カスタムtelerikグリッドビューの列)を持っています。 コードでは、そのXAMLリソースを読み込み、そのインスタンスからStyleオブジェクトをロードします。どうすればいい?
私はこのような何かがいる限り、あなたが必要とするスタイルは、XAMLファイルであるとして動作するはずです、マージされた辞書を使用します。
using (StreamReader sr = new StreamReader(
Application.GetResourceStream(new Uri("Themes/Theming.Blue.xaml", UriKind.Relative)).Stream))
{
xaml = sr.ReadToEnd();
sr.Close();
}
ResourceDictionary rd = (ResourceDictionary)XamlReader.Load(xaml);
App.Current.Resources.MergedDictionaries.Clear();
App.Current.Resources.MergedDictionaries.Add(rd);
はあなたの助けをありがとう - 私はほとんどそこだけど、私は」リソースがどのように識別されているかを理解することができません。私のクラスライブラリでは、埋め込みリソースとしてxamlファイルを設定しています。私が持っている問題は、Application.GetResourceStreamは常にnullを返すということです。私はおそらく正しい識別子を使用していないだろうが、私は魔法の文字列が何であるか把握することはできません。 (リフレクターに表示されているリソース名とそれに似たバリエーションはありますが、喜びはありません) – JMarsch
問題は「組み込みリソース」ではなく「リソース」を使用する必要があるということでした。 theAssembly; component/Thenamespace/TheXamlfile.xaml " – JMarsch