.NET MAUI RC1 ile Gelen Yenilikler

Merhabalar,

.NET MAUI RC1 ile gelen yenilikler içerisinde en çok dikkatimizi çeken 40+ layout ve kontrol’ün olduğu. Her gelen yenilikte aklımızda olan soru değişmiyor tabiki “Xamarin’de kullandığımız her şeyi MAUI’de kullanabilecek miyiz?” .. bence evet ve hatta fazlası olacak. Fazlasının olacağını da aslında MAUI ile gelen blazor ve blazor ile gelen diğer kontrollerden anlıyoruz.

Kontrollerin detayı için dökümanları biraz incelemeliyiz.

Controls – .NET MAUI | Microsoft Learn

XAML, CSS ve Style konusunda güzel gelişmeler var. Yeni gelen project template Resourcesstyles ile tüm kontrollerinizin stillerine rahat bir şekilde müdahele edebiliyorsunuz. Bunun yanında tema yönetimi ve visual state kullanımlarını da bu template özelinde kullanabiliyorsunuz.

Xamarin tarafında kullanmaktan kaçındığım ve gerçekten çok ihtiyacım yoksa kullanmadığım bir durum vardı. Shared katmanda platform spesifik bir kod yazacağımda bunu dependency ile yapamamak ve Shared katmanda platform özelinde kod yazmaktı. (#if Android)

MAUI taraflarında bu konuyu incelediğimde özellikle style tarafındaki örneklerde çokça bu durumu gördüm.

#if ANDROID
Microsoft.Maui.Handlers.EntryHandler.Mapper.ModifyMapping("NoUnderline", (h, v) =>
{
    h.PlatformView.BackgroundTintList = ColorStateList.ValueOf(Colors.Transparent.ToPlatform());
});
#endif

Fakat bununla beraber Xamarin kullanımının yoğun olduğu zamanlarda bana en çok gelen sorulardan bir tanesi şuydu. “Ne yani.. bir kontrole border ekleyebilmek için illa Custom Renderer mi yazmalıyım?” Tabii ki bu sorunun cevabı EVET! fakat MAUI ile beraber gelen yeniliklerde bu soruyu sadece benim almadığımı anlıyorum 🙂

<Border Stroke="{StaticResource Black}"
        StrokeThickness="2"
        StrokeShape="Rectangle">
    <Entry
        Margin="20,4"
        Placeholder="Username" />
</Border>

Yiğit

Xamarin Developer, Consultant & Architect. Community Leader and Director of Xamarin Türkiye

Post A Reply