From 5098909f979784bc18282a3f88b1fefb1bd0522b Mon Sep 17 00:00:00 2001 From: Alex Macocian Date: Tue, 3 Sep 2024 12:53:21 +0200 Subject: [PATCH] BindingContext extension for viewmodels --- Net.Maui.Extensions/Extensions/ContentPageExtensions.cs | 9 +++++---- Net.Maui.Extensions/Net.Maui.Extensions.csproj | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Net.Maui.Extensions/Extensions/ContentPageExtensions.cs b/Net.Maui.Extensions/Extensions/ContentPageExtensions.cs index 3b51712..fdfd333 100644 --- a/Net.Maui.Extensions/Extensions/ContentPageExtensions.cs +++ b/Net.Maui.Extensions/Extensions/ContentPageExtensions.cs @@ -1,4 +1,5 @@ -using System.ComponentModel; +using Net.Maui.Extensions.ControlFlow; +using System.ComponentModel; using System.Core.Extensions; using System.Extensions; @@ -6,9 +7,9 @@ namespace Net.Maui.Extensions.Extensions; public static class ContentPageExtensions { - public static T GetBindingContext(this ContentPage contentPage) - where T : INotifyPropertyChanged + public static T? GetBindingContext(this IPageViewModel page) + where T : class, INotifyPropertyChanged, new() { - return contentPage.ThrowIfNull().BindingContext.Cast(); + return page.As()?.ThrowIfNull()?.BindingContext.As(); } } diff --git a/Net.Maui.Extensions/Net.Maui.Extensions.csproj b/Net.Maui.Extensions/Net.Maui.Extensions.csproj index c6ef040..8be877f 100644 --- a/Net.Maui.Extensions/Net.Maui.Extensions.csproj +++ b/Net.Maui.Extensions/Net.Maui.Extensions.csproj @@ -20,7 +20,7 @@ enable enable true - 0.2.10 + 0.2.11 Alexandru Macocian LICENSE true