我想尝试这个例子:
public class App : Application
{
public App ()
{
var buttonStyle = new Style (typeof(Button)) {
Setters = {
...
new Setter { Property = Button.TextColorProperty, Value = Color.Teal }
}
};
Resources = new ResourceDictionary ();
Resources.Add ("buttonStyle", buttonStyle);
...
}
...
}
但它不起作用/识别new ResourceDictionary()
。有谁知道我可能做错了什么?
答案 0 :(得分:1)
您在资源文件
中创建类namespace MyNameSpace.Resources
{
public static class Styles
{
public static Style ButtonStyle = new Style(typeof(Button))
{
Setters = {
new Setter { Property = Button.TextColorProperty, Value = Color.Teal }
}
};
}
}
在xaml.cs文件中,您可以直接使用
MyBtn.Style = Styles.ButtonStyle;
答案 1 :(得分:1)
应用程序应该已经有一个资源字典,尤其是在XAML中定义的时候。
检查exports.getCourses = (req, res) => {
models.Course.find().sort('code').lean().exec((err, courses) => {
res.render('admin/pages/courses', {
bodyClass: 'courses',
title: 'Courses',
courses: _.filter(courses, course => {
return req.user.hasRole('admin') ||
course.instructors.indexOf(req.user.id) !== -1 ||
course.teachingAssistants.indexOf(req.user.id) !== -1;
})
});
});
};
是否为空
检查Resources
是否为空
如果两者都为空,则可以创建Application.Current.Resources
,您可能需要包含new ResourceDictionary()
答案 2 :(得分:1)
您也可以将setter添加到样式的Setters
集合中。 PCL中的代码:
using Xamarin.Forms;
.....
this.Resources = new ResourceDictionary();
var style = new Style(typeof(Button));
style.Setters.Add(new Setter { Property = Button.TextColorProperty, Value = Color.Teal });
Resources.Add("MyButtonStyle", style);
答案 3 :(得分:0)
您需要实现资源字典。
像这样创建一个类:
public class MyResourceDictionary : ResourceDictionary
{
}
然后在您的代码中,您应该能够:
Resources = new MyResourceDictionary();
Resources.Add("ButtonStyle",buttonStyle);