Избегайте повторного открытия окна на том же объектеC#

Место общения программистов C#
Ответить
Anonymous
 Избегайте повторного открытия окна на том же объекте

Сообщение Anonymous »

Есть список сотрудников. По команде хочу открыть окно подробной информации о сотруднике. Как избежать повторного открытия окна для одного и того же сотрудника?
Добавить в ВМ словарь открытых "сотрудников"? Я могу контролировать, кто открывал и закрывал. Тогда как мне сделать так, чтобы при попытке открыть «открытого» сотрудника фокус передавался на это окно и оно всплывало?
public class EmployeeListViewModel : BindableBase
{
private readonly IUnitOfWork _unitOfWork;
private readonly IDialogService _dialogService;

private ObservableCollection employees;
public ObservableCollection Employees
{
get => employees;
set => SetProperty(ref employees, value);
}

private Employee selectedEmployee;
public Employee SelectedEmployee
{
get => selectedEmployee;
set => SetProperty(ref selectedEmployee, value);
}

public DelegateCommand OpenSelectedEmployeeCardCommand { get; }

public DocumentsListViewModel(IUnitOfWork unitOfWork, IDialogService dialogService)
{
_unitOfWork = unitOfWork;
_dialogService = dialogService;

OpenSelectedEmployeeCardCommand = new DelegateCommand(OpenSelectedEmployeeCardCommandExecute);
}

private void OpenSelectedEmployeeCardCommandExecute()
{
_dialogService.Show(
nameof(EmployeeCard),
new DialogParameters { { "EmployeeId", SelectedEmployee.Id } },
result => { });
}
}


Подробнее здесь: https://stackoverflow.com/questions/786 ... ame-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»