public void SetupSearch(IWindowSearch windowSearch) { ThrowIfDisposed(); if (windowSearch == null) { throw new ArgumentNullException(nameof(windowSearch)); } Execute.OnUIThread(() => { if (WindowSearch != null) { throw new InvalidOperationException("WindowSearchHost.cs -- Already Setted up"); } WindowSearch = windowSearch; _searchCategory = WindowSearch.Category; CreateDataSource(); WindowSearch.ProvideSearchSettings(DataSource.SearchSettings); SearchControl.DataContext = DataSource; }); }
public void TerminateSearch() { if (IsDisposed) { return; } Execute.OnUIThread(() => { if (WindowSearch == null) { return; } SearchTask = null; _searchCookie = 0; DataSource = null; if (SearchControl != null) { SearchControl.DataContext = null; } _searchCategory = Guid.Empty; WindowSearch = null; }); }