extend ConfigurationValueViewModel to write the value back to settings

This commit is contained in:
TheXamlGuy
2024-10-02 18:29:11 +01:00
parent b781f18758
commit 001fdb1404
5 changed files with 18 additions and 236 deletions
@@ -7,23 +7,28 @@ public partial class ConfigurationValueViewModel<TConfiguration, TValue>(IServic
ISubscriber subscriber,
IDisposer disposer,
TConfiguration configuration,
Func<TConfiguration, TValue> valueDelegate) :
IWritableConfiguration<TConfiguration> writer,
Func<TConfiguration, TValue?> read,
Action<TValue?, TConfiguration> write) :
ValueViewModel<TValue>(provider, factory, mediator, publisher, subscriber, disposer),
INotificationHandler<ChangedEventArgs<TConfiguration>>
where TConfiguration : class
{
private readonly TConfiguration configuration = configuration;
private readonly Func<TConfiguration, TValue> valueDelegate = valueDelegate;
public Task Handle(ChangedEventArgs<TConfiguration> args)
{
throw new NotImplementedException();
}
protected override void OnChanged(TValue? value)
{
writer.Write(args => write(value, args));
base.OnChanged(value);
}
public override Task OnActivated()
{
Value = valueDelegate(configuration);
Value = read(configuration);
return base.OnActivated();
}
}