skip to Main Content

This is my code (.NET MAUI – Visual Studio):

File Mainpage.xaml.cs:

using System.ComponentModel;
using System.Windows.Input;
using Microsoft.Maui.Controls;

namespace App;

public partial class MainPage : ContentPage
{

    public MainPage()
    {
        InitializeComponent();
    }

    ......

    private void LockerClicked(object sender, EventArgs e)
    {
        Button clickedButton = (Button)sender;

        if (clickedButton.BackgroundColor == Color.Blue)
        {
            // Action
        }
    }
}

File Mainpage.cs

......
<Button x:Name="LockerButton" Clicked="LockerClicked" Text="⌨" Grid.Row="3" Grid.Column="2" FontSize="40" TextColor="#007070" FontAttributes="Bold" CornerRadius="100" BackgroundColor="White"/>
......

However, I get a:

Compiler Error CS0120: An object reference is required for the nonstatic field, method, or property ‘Color.Blue’

What is wrong with my code?

2

Answers


  1. You need to use Colors, not Color:

    if (clickedButton.BackgroundColor == Colors.Blue)
    
    Login or Signup to reply.
  2. you can follow these steps:

    Get the current background color of the button:
    You need to access the BackgroundColor property of the button control. This property represents the current background color of the button.

    Compare the background color with the target color:
    Once you have obtained the background color of the button, you can compare it with the color you want to check.
    Here’s a code example to illustrate the process in C#:
    enter image description here
    Replace myButton with the name of your button control in the above code. Also, ensure that you have the necessary using directives for Microsoft.Maui.Controls in your code file.

    This code snippet checks if the background color of the button (myButton) matches the targetColor (in this case, the color is set to red). If they match, you can perform specific actions or logic as required. If they don’t match, you can handle it differently.

    Remember that colors can be defined using RGBA or hexadecimal notation, so make sure the targetColor is in the same format as the BackgroundColor property of the button.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search