From d87fa37d094a7761ee828715218215500cb69b8e Mon Sep 17 00:00:00 2001 From: TheXamlGuy Date: Wed, 10 Jul 2024 15:21:02 +0100 Subject: [PATCH] break wallet navigation off into seperate view --- Toolkit.Foundation/ObservableCollection.cs | 10 +++++++++- Toolkit.Foundation/Selection.cs | 8 ++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Toolkit.Foundation/ObservableCollection.cs b/Toolkit.Foundation/ObservableCollection.cs index 1c289c3..b691142 100644 --- a/Toolkit.Foundation/ObservableCollection.cs +++ b/Toolkit.Foundation/ObservableCollection.cs @@ -659,6 +659,14 @@ public partial class ObservableCollection : { newSelection.IsSelected = true; } + + Publisher.Publish(Selection.As(SelectedItem)); + OnSelectedItemChanged(); + } + + protected virtual void OnSelectedItemChanged() + { + } private void UpdateSelection(TItem item) @@ -672,7 +680,7 @@ public partial class ObservableCollection : oldSelection.IsSelected = false; } - dispatcher.Invoke(() => SelectedItem = item); + SelectedItem = item; } } } diff --git a/Toolkit.Foundation/Selection.cs b/Toolkit.Foundation/Selection.cs index d0936f0..aeddbd3 100644 --- a/Toolkit.Foundation/Selection.cs +++ b/Toolkit.Foundation/Selection.cs @@ -2,9 +2,9 @@ public record Selection { - public static SelectionEventArgs As(TValue value) => - new(value); + public static SelectionEventArgs As(TSender? sender) => + new(sender); - public static SelectionEventArgs As() where TValue : new() => - new(new TValue()); + public static SelectionEventArgs As() where TSender : new() => + new(new TSender()); } \ No newline at end of file