1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00
Artemis/src/Artemis.UI/Extensions/DataBindingExtensions.cs
2022-04-24 22:05:29 +02:00

16 lines
637 B
C#

using System;
using System.Reactive.Linq;
using Artemis.Core;
namespace Artemis.UI.Extensions;
public static class DataBindingExtensions
{
public static IObservable<IDataBinding> AsObservable(this IDataBinding dataBinding)
{
return Observable.FromEventPattern<DataBindingEventArgs>(x => dataBinding.DataBindingEnabled += x, x => dataBinding.DataBindingEnabled -= x)
.Merge(Observable.FromEventPattern<DataBindingEventArgs>(x => dataBinding.DataBindingDisabled += x, x => dataBinding.DataBindingDisabled -= x))
.Select(e => e.EventArgs.DataBinding)
.StartWith(dataBinding);
}
}