在按钮Xamarin表单上设置时,静态资源颜色不起作用

idv4meu8  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(151)

我正在使用static resource设置buttontextbackgroundcolor,但根本不显示颜色。
我已经在共享项目中的项目级别上添加了Theme.cs文件。t

public static class Theme
{
    public static Color Application_GreenColor = Color.FromHex("5EC451");
    public static Color Application_RedColor = Color.FromHex("#EC3323");
}

在此xaml文件下面,设置button上的颜色

<?xml version="1.0" encoding="utf-8" ?>
<Grid
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:local="clr-namespace:projectName;assembly=projectName"
    xmlns:extensions="clr-namespace:projectName.Extensions.MarkupExtensions;assembly=projectName"
    x:Class="path/projectName">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition
                Height="Auto" />
            <RowDefinition
                Height="Auto" />
        </Grid.RowDefinitions>
        <Grid
            Grid.Row="1"
            Margin="20,20,20,20">
            <Grid.ColumnDefinitions>
                <ColumnDefinition
                    Width="*" />
                <ColumnDefinition
                    Width="*" />
            </Grid.ColumnDefinitions>
           <Button
            Margin="0,0,0,0"
            Command="{Binding ConfirmCardCommand}"
            Text="CardOperationsView"
            FontSize="Medium"
            CornerRadius="30"
            ContentLayout="Right"
            TextColor="{x:Static local:Theme.Application_PrimaryButtonTextColor}"
            Grid.Column="1"
            HorizontalOptions="FillAndExpand"
            VerticalOptions="Center"
            BackgroundColor="{x:Static local:Theme.Application_RedColor}" />
        </Grid>
    </Grid>
</Grid>

以上UI用于弹出窗口。这是如何打开弹出窗口

private async Task ShowCardDialogAsync()
{
    _CardPopup = await DialogHelper.ShowCustomBottomPopupAsync(new CardPopupTemplate(), this);
}

从xaml Button是没有任何背景和文本颜色。我如何解决这个问题?

kh212irz

kh212irz1#

制作了一个小项目,但按钮中的颜色显示为BackgroundColor红色。
你有没有加这个。

xmlns:local="clr-namespace:ColorbindingClass"

使用您自己的项目名称更改ColorbindingClass。如果不使用,则仍会出现错误。

czfnxgou

czfnxgou2#

这就是此问题的修复方法。在App.xaml文件中声明颜色

<Color x:Key="LblgbColor">#AFABAB</Color>
  <Color x:Key="AccentColor">#BC4C1B</Color>
  <Color x:Key="BackgroundColor">#212C37</Color>
  <Color x:Key="BlackColor">#000000</Color>
  <Color x:Key="BlackTextColor">#253748</Color>
  <Color x:Key="BlueColor">#0072C6</Color>

像这样使用xaml文件

<BoxView Grid.ColumnSpan="3"
Grid.Row="0"
HorizontalOptions="FillAndExpand"
VerticalOptions="StartAndExpand"
HeightRequest="1"
BackgroundColor="{StaticResource BackgroundColor}">
</BoxView>

相关问题