Files
Phonebook/MainPage.xaml
2026-04-09 13:10:02 +03:00

60 lines
2.6 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:converter="clr-namespace:Phonebook.Converters"
x:Class="Phonebook.MainPage"
Title="Телефонный справочник"
Shell.TitleColor="{DynamicResource Primary}"
BackgroundColor="{DynamicResource PageBackgroundColor}">
<ContentPage.Resources>
<converter:Base64ToPhoto x:Key="Base64ToImageConverter"/>
</ContentPage.Resources>
<Grid RowDefinitions="Auto, *">
<!-- Search Bar -->
<SearchBar x:Name="searchBar"
Placeholder="Поиск контактов..."
TextChanged="OnSearchTextChanged"
Grid.Row="0"/>
<!-- Contacts List -->
<CollectionView x:Name="contactsList"
Grid.Row="1"
SelectionMode="Single"
SelectionChanged="OnContactSelected">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Padding="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding PhotoBase64, TargetNullValue='default_contact.png', Converter={StaticResource Base64ToImageConverter}}"
WidthRequest="50"
HeightRequest="50"
Aspect="AspectFill"/>
<VerticalStackLayout Grid.Column="1" Padding="10,0">
<Label Text="{Binding Name}" FontSize="16" FontAttributes="Bold"/>
<Label Text="{Binding PhoneNumber}" FontSize="14"/>
<Label Text="{Binding Email}" FontSize="12" TextColor="Gray"/>
</VerticalStackLayout>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
<!-- Add Button -->
<Button Text="+"
FontSize="24"
WidthRequest="60"
HeightRequest="60"
CornerRadius="10"
HorizontalOptions="End"
VerticalOptions="End"
Margin="0,0,20,20"
Grid.Row="1"
Clicked="OnAddContactClicked" BackgroundColor="{DynamicResource Primary}"/>
</Grid>
</ContentPage>