我想添加字符串,将样式添加到ResourceDictionary中,这是可能的
Ex : string MyStyle = "<Style x:Key='baseStyle' TargetType='{x:Type Button}'>" +
"<Setter Property='FontSize' Value='12' />" +
"<Setter Property='Background' Value='Orange' /></Style>";
我想将此字符串添加到resourcedictionary
如何?
ResourceDictionary rd = new ResourceDictionary();
rd.MergedDictionaries.Clear();
rd.Add("MyStyle", MyStyle);
Application.Current.Resources.MergedDictionaries.Add(rd);
无效......
答案 0 :(得分:0)
只是因为最初在XAML中描述的东西并不意味着它在运行时是一个字符串(就像你不能使用包含C#片段的字符串而只是运行它)。
您必须使用对象表示:
MyStyle = new Style(){TargetType=typeof(Button)};
MyStyle.Setters.Add(new Setter(){Property="FontSize", Value=12});
MyStyle.Setters.Add(new Setter(){Property="Backround", Value=Brushes.Orange});
Application.Current.Resources.Add("MyStyle",MyStyle);
如果您有完整的有效XAML文件,则可以使用XamlReader