2011-10-22 3 views
2

Être nouveau à Silverlight J'ai du mal à 'aller de l'avant' avec ce qui suit.Silverlight (wp7)

Fondamentalement, je souhaite créer une forme de contrôle de type grille (personnalisée ou utilisateur?).

L'idée est similaire à celle d'un planificateur. Le long du sommet sont des temps (intervalles définis). Vers le bas sont des sujets. Ensuite, sur la grille comme des rectangles de fond (ou quelque chose) indiquent quand le sujet est prévu.

La conception actuelle de ce qui précède n'est pas le problème. c'est-à-dire une grille avec des rectangles superposés. Mais mon problème est que je souhaite que cette grille soit défilée de haut en bas (avec des limites fixant le haut et le bas lorsque les lignes d'objet commencent et se terminent). Et aussi la grille à défiler à gauche et à droite (avec des limites de fixation à quelle distance à gauche et à droite, il peut faire défiler, l'heure actuelle & 3 jours dans le futur). En fonction des besoins ci-dessus, je ne souhaite pas créer un contrôle qui soit très grand et qui soit simplement déplacé dans la vue (à moins que ce soit le seul moyen?) Mais qui montre la grille à un moment courant et quand on le traîne charger dynamiquement les prochaines heures de contenu, éventuellement avec un tampon de quelques heures.

L'apparence que je cherche est qu'elle ressemble à un contrôle massif, mais ce n'est vraiment pas sa dynamique.

Est-ce que cela a du sens? Est-ce que je ne m'inquiète de rien? Dois-je créer une grille massive dans le futur et gérer simplement la charge de données dynamiquement par-dessus? C'est juste mon souci si je veux une grille 3 mois dans le futur ce serait énorme et un gaspillage de mémoire.

J'ai du mal à trouver des exemples sur le net, mais je pense que cela a peut-être à voir avec moi ne sachant pas quoi chercher. Il ne s'agit pas d'obtenir une réponse détaillée et quelqu'un qui le fait pour moi, mais plutôt de me guider dans la bonne direction.

Un grand merci

Répondre

1

A propos du défilement vers le haut vers le bas: vous pouvez simplement mettre une grille contenant vos données dans un contrôle ScrollViewer - cela gérer tous les défilement pour vous. Une autre solution consisterait à utiliser un contrôle listbox - c'est mieux si vous utilisez MVVM. Vous pouvez le lier à une source de données et définir comme modèle de données un contrôle personnalisé.

Pour le défilement gauche-droite. Je pense que tu pourrais utiliser des gestes pour ça. Capturez de la même manière les déplacements de gauche à droite et de droite à gauche et modifiez les données dans votre grille/liste en fonction de la direction du geste. Vous pouvez également placer deux boutons en haut de la grille pour gérer le défilement d'un jour à l'autre (comme dans les commandes du calendrier: gestes + boutons).

+0

J'aime cette idée de suivre le calendrier en utilisant des gestes et des boutons. Je pense toujours que l'application a besoin que la grille apparaisse comme si elle défilait, même si ce n'était pas le cas, et qu'elle ne faisait que déplacer les données. De cette façon, il est plus facile de voir où quelque chose commence et se termine, ce qui peut durer plusieurs heures. – Tezza

+0

Vous pouvez gérer le défilement gauche-droite en utilisant le scrollviewer. Tout ce que vous devez faire est d'activer 'HorizontalScrollBarVisibility' à' Auto'. Ci-dessous, je vous ai fait une courte démonstration de comment cela fonctionne. Il suffit de copier le xaml dans une page amty de votre projet en remplaçant la grille LayoutRoot. –

+0

Le code était trop long à mettre là donc j'ai fait un projet et le mettre dans ma boîte de dépôt afin que vous puissiez le télécharger. Lien ici: [link] (http://dl.dropbox.com/u/20848147/StartDebugging/ScrollingGrid.rar) –

Questions connexes