diff --git a/Toolkit.Avalonia/IServiceCollectionExtensions.cs b/Toolkit.Avalonia/IServiceCollectionExtensions.cs index 8f97319..ef6a619 100644 --- a/Toolkit.Avalonia/IServiceCollectionExtensions.cs +++ b/Toolkit.Avalonia/IServiceCollectionExtensions.cs @@ -138,6 +138,8 @@ public static class IServiceCollectionExtensions services.AddTransient(); services.AddTransient(); + services.AddHandler(); + services.AddHandler(nameof(IClassicDesktopStyleApplicationLifetime)); services.AddHandler(nameof(ISingleViewApplicationLifetime)); services.AddHandler(nameof(ContentControl)); @@ -167,6 +169,8 @@ public static class IServiceCollectionExtensions services.AddTransient(); + services.AddHandler(); + services.AddHandler(nameof(ContentControl)); services.AddHandler(nameof(Frame)); services.AddHandler(nameof(ContentDialog)); diff --git a/Toolkit.Foundation/Clipboard.cs b/Toolkit.Foundation/Clipboard.cs new file mode 100644 index 0000000..be865e2 --- /dev/null +++ b/Toolkit.Foundation/Clipboard.cs @@ -0,0 +1,5 @@ +namespace Toolkit.Foundation; + +public record Clipboard; + +public record Clipboard(TValue Value); \ No newline at end of file diff --git a/Toolkit.Foundation/Move.cs b/Toolkit.Foundation/Move.cs index f1aaf1d..482ef13 100644 --- a/Toolkit.Foundation/Move.cs +++ b/Toolkit.Foundation/Move.cs @@ -4,5 +4,5 @@ public record Move { public static MoveEventArgs As(int index, TSender sender) => new(index, sender); - public static InsertEventArgs As(int index) where TSender : new() => new(index, new TSender()); + public static MoveEventArgs As(int index) where TSender : new() => new(index, new TSender()); } \ No newline at end of file diff --git a/Toolkit.Foundation/WriteClipboardHandler.cs b/Toolkit.Foundation/WriteClipboardHandler.cs new file mode 100644 index 0000000..6c47034 --- /dev/null +++ b/Toolkit.Foundation/WriteClipboardHandler.cs @@ -0,0 +1,13 @@ +namespace Toolkit.Foundation; + +public class WriteClipboardHandler(IClipboardWriter clipboardWriter) : + INotificationHandler>> +{ + public async Task Handle(WriteEventArgs> args) + { + if (args.Sender is Clipboard clipboard) + { + await clipboardWriter.Write(clipboard.Value); + } + } +}