таймлайне, грубо говоря есть разлинованная по часам форма, на форме есть квадратик для события, длинна квадратика - есть длительность события. Что то вроде как на скрине. В общем я понимаю, что беру длину родительского контейнера как длительность дня, делю это дело на количество минут и получаю отступ от края длинной в минуту, потом считаю сколько минут(длинна отступа) мне нужно от края контейнера и даю элементу значение отступа. Длинна квадратика так же - разница между началом и концом события в минутах вот тебе и длина. Но вопрос не в этом - во первых при масштабировании квадрат не перерисовывается на нужное место - то есть изменение размена грида надо биндить во viewmodel (или не надо?) и пересчитывать каждый раз при изменении размеров грида.
К ActualWidth особо не побиндишь и вот вопрос - можно ли где то после отрисовки окна получить измененный размер и пересчитать отступы и длины элементов, и если можно - ткните носом)
Диаграмма Ганта. Есть в LiveCharts, мб ещё в какой библиотеке для графиков
Либо кастом делать на основе DataGrid, в котором количество столбиков зависит от масштаба (дни/часы/минуты). Ещё пример реализации смотри на гитхабе nGantt. Я пока так и не сделал, в закладках нашёл
Обсуждают сегодня