DATA
CZAS
IMIENINY
FAZA KSIĘŻYCA
STAFLOTA ⊕ SEKTOR ALFA · BITEDU STATION

Kontrolki to podstawowe elementy interfejsu użytkownika – przyciski, pola tekstowe, listy czy suwaki. W .NET MAUI umieszczamy je w layoutach (np. StackLayout, Grid). Każda kontrolka ma swoje właściwości i wydarzenia (events), które pozwalają reagować na akcje użytkownika.

1) Label (etykieta)

Do wyświetlania statycznego tekstu: tytuły, opisy, komunikaty.

<Label Text="Witaj w MAUI!"
       FontSize="24"
       TextColor="DarkBlue"
       LineBreakMode="WordWrap"
       HorizontalOptions="Center"/>

Właściwości (z opisem):


2) Entry (pole tekstowe — jednowierszowe)

Do krótkich danych: login, e-mail, hasło, liczby.

<Entry Placeholder="Wpisz e-mail"
       Keyboard="Email"
       ClearButtonVisibility="WhileEditing"/>
``]
**Właściwości:**  
- **Placeholder** – szary tekst-podpowiedź, gdy pole jest puste; prowadzi użytkownika.  
- **Text**aktualna zawartość; tu później odczytujesz wpisane dane.  
- **IsPassword**ukrywa znaki; użyj w polach z hasłem.  
- **Keyboard**dobiera klawiaturę (np. *Email*, *Numeric*); przyspiesza wpisywanie i zmniejsza błędy.  
- **MaxLength**ogranicza długość; zapobiega „romansom” z walidacją.  
- **ClearButtonVisibility** – pokazuje X do czyszczenia; lepsza ergonomia na mobile.  
- **IsReadOnly** – blokuje edycję przy zachowaniu wyglądu; przydaje się w podglądzie danych.

---

## 3) Editor (pole tekstowe — wielowierszowe)
Dłuższe treści: komentarze, opisy, notatki.
```xml
<Editor Placeholder="Wpisz komentarz..."
        AutoSize="TextChanges"
        HeightRequest="120"/>

Właściwości:


4) Button (przycisk)

Wyzwala akcję: zapisz, zaloguj, wyślij.

<Button Text="Zaloguj"
        BackgroundColor="RoyalBlue"
        TextColor="White"
        CornerRadius="12"
        ImageSource="login.png"
        ContentLayout="Left,8"/>

Właściwości:


5) Image (obrazek)

Wyświetla grafikę: logo, zdjęcie, baner.

<Image Source="logo.png"
       Aspect="AspectFit"
       WidthRequest="120"
       HeightRequest="120"
       Opacity="0.95"/>

Właściwości:


6) CheckBox (pole wyboru)

Tak/nie, np. „Akceptuję regulamin”.

<CheckBox IsChecked="False" Color="SeaGreen" />

Właściwości:


7) RadioButton (przycisk opcji)

Wybór jednej z wielu opcji w grupie.

<VerticalStackLayout>
  <RadioButton Content="Light"  GroupName="Theme"/>
  <RadioButton Content="Dark"   GroupName="Theme"/>
</VerticalStackLayout>

Właściwości:


8) Switch (przełącznik ON/OFF)

Mobilny przełącznik: np. „Powiadomienia”.

<Switch IsToggled="True" ThumbColor="White" OnColor="MediumSeaGreen"/>

Właściwości:


9) Slider (suwak)

Wartość liczbową wybierasz przesuwając: głośność, jasność.

<Slider Minimum="0" Maximum="100" Value="50"/>

Właściwości:


10) Stepper (przycisk + / –)

Zwiększa/zmniejsza wartość skokowo: sztuki, poziomy.

<Stepper Minimum="0" Maximum="10" Increment="1" Value="5"/>

Właściwości:


11) DatePicker (wybór daty)

Kalendarz do wyboru daty: urodziny, rezerwacja.

<DatePicker Format="dd.MM.yyyy"
            MinimumDate="2000-01-01"
            MaximumDate="2035-12-31"/>

Właściwości:


12) TimePicker (wybór godziny)

Godzina spotkania, alarm, przypomnienie.

<TimePicker Time="12:30:00" Format="HH:mm"/>

Właściwości:


13) Picker (lista rozwijana)

Wybór jednej opcji z listy: kraj, kategoria, metoda płatności.

<Picker Title="Wybierz kategorię">
  <Picker.Items>
    <x:String>Elektronika</x:String>
    <x:String>AGD</x:String>
    <x:String>Książki</x:String>
  </Picker.Items>
</Picker>

Właściwości:

W wersji „produkcyjnej” częściej użyjesz ItemsSource (bindowane do kolekcji) + ItemDisplayBinding.


14) SearchBar (pole wyszukiwania)

Wpisywanie frazy do filtrowania danych (np. listy).

<SearchBar Placeholder="Szukaj produktu..." />

Właściwości:


15) ProgressBar (pasek postępu)

Pokazuje progres zadania: ładowanie, zapis.

<ProgressBar Progress="0.35" ProgressColor="MediumPurple"/>

Właściwości:

Metoda ProgressTo() (w kodzie C#) animuje zmianę – ładniejszy UX.


16) ActivityIndicator (spinner)

Animowane „kółko” w trakcie pracy w tle.

<ActivityIndicator IsRunning="True"
                   IsVisible="True"
                   Color="Tomato"/>

Właściwości:


17) CollectionView (nowoczesna lista)

Lista/siatka elementów: produkty, osoby, wiadomości.

<CollectionView ItemsLayout="VerticalList">
  <CollectionView.ItemsSource>
    <x:Array Type="{x:Type x:String}">
      <x:String>Jan</x:String>
      <x:String>Agnieszka</x:String>
    </x:Array>
  </CollectionView.ItemsSource>
  <CollectionView.EmptyView>
    <Label Text="Brak danych" HorizontalOptions="Center" />
  </CollectionView.EmptyView>
</CollectionView>

Właściwości:


18) ListView (starsza lista)

Starsza kontrolka listy; w nowych projektach zastępuj ją CollectionView, ale możesz spotkać w starszych zadaniach.

<ListView>
  <ListView.ItemsSource>
    <x:Array Type="{x:Type x:String}">
      <x:String>Element 1</x:String>
      <x:String>Element 2</x:String>
    </x:Array>
  </ListView.ItemsSource>
</ListView>

Właściwości:


Podsumowanie praktyczne