using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Controls; namespace OOO_WriteAndClear.MVP.Views.DisplayingUserControlManager { /// /// Класс инкапсулирующий логику демонстрации UserControl в ContentControl /// public sealed class DisplayingUserControlManager { /// /// Конструктор для создания без первоначальной установки UC /// /// ContentControl для размещения UC public DisplayingUserControlManager(ContentControl hostPlace) { _hostPlace = hostPlace; } /// /// Конструктор для создания с первоначальной установкой UC /// /// ContentControl для размещения UC /// UserControl для первоначального размещения public DisplayingUserControlManager(ContentControl hostPlace, UserControl userControl) { _hostPlace = hostPlace; DisplayingUserControl = userControl; } /// /// Возвращает или устанавливает текущий UserControl /// public UserControl? DisplayingUserControl { get => _hostPlace.Content as UserControl; set => _hostPlace.Content = value; } /// /// Тип отображающегося в данный момент UserControl /// public Type? DisplayingUserControlType => _hostPlace.Content?.GetType(); private readonly ContentControl _hostPlace; } }