2009-05-13 9 views
1

À partir du développement de Silverlight. Pourtant, pour lire un bon livre Silverlight: suggestions bienvenues.Silverlight DRY lors de l'animation de plusieurs UserControls sur la page de navigation principale

J'ai un écran GUI principal où 7 commandes de l'utilisateur (éléments de menu) «swoop» en vue, tout au long de leur propre chemin. J'ai les commandes de l'utilisateur bien séparées et se comporte bien. Avoir plusieurs storyboards (1 chacun pour chaque menuitem) avec plusieurs animations d'images clés (X, Y, hauteur, largeur) dans un fichier .XAML n'est pas bien avec moi. Répéter toutes ces valeurs de propriété est hideux, même maintenance.

J'ai essayé de déplacer des valeurs dans le fichier app.xaml et de définir des durées d'animation avec des touches de style, mais avec un succès limité. Quelqu'un peut-il suggérer une belle façon de faire ce nettoyant? Refactoriser les storyboards à leur propre contrôle? Valeurs de propriété dans les ressources? Bâtiment dynamique dans codebehind? Me référer à un site de procédure est très bien aussi.

Répondre

1

Il se peut que vous soyez en train de subir une surcharge de XAML. Il semble que la plupart des développeurs, lorsqu'ils démarrent avec WPF ou Silverlight, pensent que tout devrait aller dans XAML qui peut aller dans XAML. Ils arrivent alors à un point où ils se battent avec le XAML pour faire quelque chose qui prendrait des moments dans le code-behind (moi aussi j'ai frappé son problème).

Si vous trouvez quelque chose d'encombrant ou de moche dans XAML, envisagez de l'écrire en code. Ce n'est pas un crime. Vous pouvez probablement déclarer une seule méthode pour créer votre storyboard et l'utiliser plusieurs fois, ou vous pouvez créer une classe qui enveloppe votre storyboard et ajouter plusieurs instances dans XAML de manière beaucoup plus nette. Comme vous l'avez très justement identifié vers la fin de votre message, il existe plusieurs façons de le rendre plus propre, il vous suffit de décider lequel correspond à votre situation. Sans aucun exemple XAML, il est difficile de visualiser le problème exact que vous rencontrez, donc je ne pouvais pas faire une recommandation distincte, mais j'espère que cela aide. J'aime le son de tes commandes de balayage - l'image que j'ai dans la tête est vraiment bien.

Questions connexes