J'utilise la vue de liste horizontale dans la liste de sélection. Ce qui continue à bouger de droite à gauche.Comment supprimer l'espace vide du premier élément et du dernier élément de la liste de sélection?
Mon code est:
double height = canMain.ActualHeight - marqueeList.ActualHeight;
marqueeList.Margin = new Thickness(0, 0, 0, 0);
doubleAnimation.From = -marqueeList.ActualWidth;
doubleAnimation.To = canMain.ActualWidth;
doubleAnimation.RepeatBehavior = RepeatBehavior.Forever;
doubleAnimation.Duration = new Duration(TimeSpan.FromSeconds(_marqueeTimeInSeconds));
Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("(Canvas.Right)"));
_storyBoard.Children.Add(doubleAnimation);
_storyBoard.Begin(marqueeList, true)
Mais une fois complètement déplacer il y a un espace vide se nouveau jusqu'à ce que le premier élément est pas venu. Je veux enlever l'espace entre les premiers articles au dernier article. (Comme circullar)
S'il vous plaît aidez-moi sur ce ... son urgence !!!
Merci pour votre réponse! mais j'ai besoin d'utiliser la souris sur ma liste de sélection donc n'y a-t-il pas d'autre moyen de l'obtenir? –
Oui. Comme je le mentionne dans le dernier paragraphe, vous pouvez utiliser votre propre logique pour faire glisser les éléments exactement où vous le souhaitez au lieu d'utiliser un ListView pour le faire pour vous. Je le ferais avec une sous-classe de panneau personnalisée. Le panneau personnalisé aurait une propriété "Offset" qui pourrait compter de 0 à 1 ou de 0 à ItemCount. Cette propriété aura l'indicateur InvalidatesArrange défini. Ensuite, dans votre ArrangeOverride, vous calculerez les emplacements de tous les enfants en utilisant la valeur Offset, les tailles enfants, etc. Les détails de ce calcul dépendent de vos besoins spécifiques. –
Pour que la liaison de données fonctionne avec un panneau personnalisé, vous pouvez continuer à utiliser ListView et définir sa propriété ItemsPanel à ItemsPanelTemplate qui contient une instance de votre classe de panneaux personnalisés avec sa propriété Offset liée comme vous le souhaitez. Ensuite, il suffit d'animer la propriété à laquelle ce décalage est lié, ce qui entraînera la mise à jour de la propriété Offset et le recalcul des positions de l'outil ArrangeOverride. –