如何在 Xamarin C# 中更改 Font/Color/Size

How to change Font/Color/Size in Xamarin C#

我正在用 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# 中更改内容页面的大小、字体、字体颜色、字体大小。我应该怎么做?

关于字体的 Xamarin Forms 文档: 字体: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 属性设置 Labels 的样式。

或者,您可以使用预览版中的主题:https://developer.xamarin.com/guides/xamarin-forms/themes/

StyleClass The StyleClass property allows a view's appearance to be changed according to a definition provided by a theme.