private IEnumerable<IDisposable> Init()
{
var d = new CompositeDisposable();
yield return ClearButton
.Events()
.PreviewMouseUp
.Subscribe(_ => ClearAll());
var filteredEntries =
LogEntries
.Where(this.WhenAnyValue(p => p.FilterText.Text)
.Select(str => fun((LogEntry v) => v.Message.Contains(str)))
)
.CreateObservableCollection(EqualityComparer<LogEntry>.Default);
yield return filteredEntries;
MainPanel.DataContext = filteredEntries;
yield return Disposable.Create(() => MainPanel.DataContext = null);
}