我在C#/ Xamarin中制作混合应用程序,我想为所有应用程序(iOS,Android,Windows Phone)制作自定义菜单。
所以,我创建了一个MasterPage
作为我的菜单。
public MasterPage()
{
InitializeComponent();
var masterPageItems = new List<MenuItem>();
masterPageItems.Add(new MenuItem
{
Title = "Administração",
});
masterPageItems.Add(new MenuItem
{
Title = "Meus Dados",
IconSource = "contacts.png",
TargetType = typeof(MeusDados),
});
masterPageItems.Add(new MenuItem
{
Title = "Dados Cadastrais",
IconSource = "contacts.png",
TargetType = typeof(MeusNegocios),
});
var listView = new ListView
{
ItemsSource = masterPageItems,
ItemTemplate = new DataTemplate(() =>
{
var imageCell = new ImageCell();
imageCell.SetBinding(TextCell.TextProperty, "Title");
imageCell.SetBinding(ImageCell.ImageSourceProperty, "IconSource");
return imageCell;
}),
VerticalOptions = LayoutOptions.FillAndExpand,
SeparatorVisibility = SeparatorVisibility.None
};
Padding = new Thickness(0, 20, 0, 0);
Content = new StackLayout
{
VerticalOptions = LayoutOptions.Fill,
Children = {
listView
}
};
}
这是MenuItem
:
public class MenuItem
{
public string Title { get; set; }
public string IconSource { get; set; }
public Type TargetType { get; set; }
public string Parameter { get; set; }
}
所以现在我想在C#中更改内容页面,字体,字体颜色,字体大小的大小。我该怎么做?
答案 0 :(得分:1)
字体上的Xamarin Forms doc: 字体:https://developer.xamarin.com/guides/xamarin-forms/user-interface/text/fonts/
示例:
var about = new Label {
FontSize = Device.GetNamedSize (NamedSize.Medium, typeof(Label)),
FontAttributes = FontAttributes.Bold,
Text = "Medium Bold Font"
};
我注意到您使用的是ImageCell,它没有Font属性,只有TextColor和DetailColor属性。此外,没有属性可以获取ImageCell中的基础标签,因此如果您想要完全自定义,最好的选择是创建自己的ViewCell并将图像和标签添加到ViewCell。然后,您可以使用Font属性设置标签样式。
或者,您可以使用预览中的主题:https://developer.xamarin.com/guides/xamarin-forms/themes/
的styleClass StyleClass属性允许根据主题提供的定义更改视图的外观。