قراءة ResourceDictionaries WPF من WinForms عناصر
سؤال
هل من الممكن لقراءة ResourceDictionaries WPF من WinForms عناصر؟ إذا كان الجواب نعم، كيف؟
المحلول
عند إضافة قواميس الموارد إلى مشروع WPF تم تعيين الإجراء بناء تلقائيا إلى الصفحة. وهذا يعني أن البرمجي تيار BAML ويضيفه إلى موارد الجمعية.
وSince WPF ديه وظيفة المدمج في قراءة دفق BAML لكن API لها ليس العام، لدينا لكتابة فئة المساعد الصغيرة التي الوصول إلى أسلوب داخلي على التفكير.
public static class BamlReader
{
public static object Load(Stream stream)
{
ParserContext pc = new ParserContext();
MethodInfo loadBamlMethod = typeof(XamlReader).GetMethod("LoadBaml",
BindingFlags.NonPublic | BindingFlags.Static)
return loadBamlMethod.Invoke(null, new object[] { stream, pc, null, false });
}
}
// Usage:
StreamResourceInfo sri = System.Windows.Application.GetResourceStream(
new Uri("/MyAssemblyName;component/MyResourceDict.xaml", UriKind.Relative));
ResourceDictionary resources = (ResourceDictionary)BamlReader.Load(sri.Stream);
المصدر: كيفية قراءة ResourceDictionaries WPF من WinForms عناصر
لا تنتمي إلى StackOverflow