xaml schedule controlla come affrontare elementi di durate molto diverse

2

Devo creare un controllo di pianificazione usando XAML WPF per visualizzare elementi con durata di appena 1 secondo e potenzialmente grandi un paio d'ore.

La prima cosa che sembra chiara è che avrò bisogno di un qualche tipo di capacità di zoom, per perforare gli oggetti con durate molto brevi e zoomare per visualizzare gli oggetti con durate molto grandi.

Ho in mente uno stile dell'interfaccia utente in cui quando il controllo viene ingrandito per visualizzare gli oggetti di grandi dimensioni, qualsiasi elemento di piccola durata che generalmente si verifica tra gli elementi di grande durata è un po 'come raccolto in un "secchio" che ha un'altezza & gt ; = un'altezza di visualizzazione minima. In modo che io possa forse passare il mouse su questo bucket e ottenere un suggerimento che rende gli elementi contenuti in una visualizzazione elenco ordinata nel tempo.

Non riesco a capire da dove iniziare. Sento che forse potrei ottenere qualcosa nelle misure / arrangiamenti di un pannello personalizzato. Ma penso che questo potrebbe influire negativamente sulle prestazioni del rendering. Se dovessi farlo in questo modo, suppongo che avrei bisogno di iniettare una vista "secchio" nella collezione di bambini del pannello, ma ciò romperebbe l'uso di ItemTemplate nel mio controllo degli articoli personalizzati?

Il mio secondo pensiero è che creo una collezione osservabile personalizzata che abbia una proprietà di bindable Scale che quindi organizza la raccolta in "bucket" di una durata abbastanza grande da essere visualizzabile.

Qualcuno ha qualche idea su come dovrei affrontare al meglio questo problema?

    
posta John 09.03.2014 - 21:15
fonte

1 risposta

1

Ho creato un controllo di pianificazione in WPF e hai ragione a usare le sostituzioni Measure / Arrange di un pannello per parte del tuo lavoro.

C'è una grande serie di post sul blog dove l'autore va su la creazione della stessa cosa.

Per lo zoom, ho creato un ZoomCommand che può essere associato a qualsiasi gesto per consentire a un utente di ingrandire e rimpicciolire. (Funziona alla grande con il supporto di WPF per pizzicare per ingrandire). Penso che attraversare questa serie dovrebbe darti un ottimo punto di partenza.

    
risposta data 01.04.2014 - 21:36
fonte

Leggi altre domande sui tag