/
jhayphal
/
CitReportDesigner
Обзор
Документация
Войти
/
jhayphal
/
CitReportDesigner
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ControlsSandbox/ViewModels/ReportViewModel.cs
41 строка
1009 B
Oleg Nazarenko
Доработки по поддержке таблиц в визуальном редакторе.
18 мар 2023, 23:47
18 мар 2023, 23:47
48da74c
Код
Авторство
О чём код?
using CitReport; using System.Collections.Generic; using System.Linq; namespace ControlsSandbox.ViewModels; public class ReportViewModel : ViewModelBase { private readonly Report report; public ReportViewModel(Report report) { this.report = report; Blocks = this.report.Blocks.Select((b, i) => { var vm = new BlockViewModel(b, i); vm.PropertyChanged += BlockViewModel_PropertyChanged; return vm; }).ToList(); } private void BlockViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (e.PropertyName == nameof(BlockViewModel.IsSelected) && sender is BlockViewModel vm && vm.IsSelected) { foreach(var block in Blocks) { if (block.IsSelected && !ReferenceEquals(block, vm)) { block.IsSelected = false; } } } } public double Width { get; set; } = 190f; public double Height { get; set; } = 270f; public List<BlockViewModel> Blocks { get; } }