123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- 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
- {
- /// <summary>
- /// Класс инкапсулирующий логику демонстрации UserControl в ContentControl
- /// </summary>
- public sealed class DisplayingUserControlManager
- {
- /// <summary>
- /// Конструктор для создания без первоначальной установки UC
- /// </summary>
- /// <param name="hostPlace">ContentControl для размещения UC</param>
- public DisplayingUserControlManager(ContentControl hostPlace)
- {
- _hostPlace = hostPlace;
- }
- /// <summary>
- /// Конструктор для создания с первоначальной установкой UC
- /// </summary>
- /// <param name="hostPlace">ContentControl для размещения UC</param>
- /// <param name="userControl">UserControl для первоначального размещения</param>
- public DisplayingUserControlManager(ContentControl hostPlace, UserControl userControl)
- {
- _hostPlace = hostPlace;
- DisplayingUserControl = userControl;
- }
- /// <summary>
- /// Возвращает или устанавливает текущий UserControl
- /// </summary>
- public UserControl? DisplayingUserControl
- {
- get => _hostPlace.Content as UserControl;
- set => _hostPlace.Content = value;
- }
- /// <summary>
- /// Тип отображающегося в данный момент UserControl
- /// </summary>
- public Type? DisplayingUserControlType => _hostPlace.Content?.GetType();
- private readonly ContentControl _hostPlace;
- }
- }
|