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;
}
}