如何在Xamarin C中更改字体/颜色/大小#

时间:2016-10-13 12:35:45

标签: c# android ios xamarin windows-phone

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

1 个答案:

答案 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属性允许根据主题提供的定义更改视图的外观。