Nouveauté de Silverlight. Je travaille sur une application de chat où de nouveaux messages de discussion sont ajoutés en bas d'une liste. J'ai eu une version de travail qui a utilisé comme StackPanel dans un ScrollViewer et ensuite dans un code derrière utilisé StackPanel.Children.Add(). J'essaie de convertir cela en une approche View-ViewModel, et je ne peux pas comprendre comment lier les enfants du StackPanel à n'importe quelle propriété de collection. J'ai essayé ceci:Comment lier des enfants StackPanel à partir d'un ViewModel?
<ScrollViewer Name="scrollMessages" Grid.Row="2" Margin="0,0,0,0" VerticalScrollBarVisibility="Visible">
<StackPanel x:Name="pnlMessages" Orientation="Vertical" Children="{Binding Path=ExampleTBs}" />
</ScrollViewer>
où ExampleTBs est une collection de TextBlocks créés en code. Cela échoue l'analyse XAML, la propriété Children n'est pas lisible de cette manière.
L'approche de la liaison au StackPanel est-elle réparable? Dois-je utiliser un type de conteneur différent? J'ai vu une autre question où le gars a créé l'ensemble StackPanel dans le code et a ensuite utilisé un ContentPresenter ...
En conclusion, j'aimerais trouver un moyen de classer ma vue à un viewmodel en utilisant quelque chose comme un StackPanel en tant que conteneur où les éléments successifs seront ajoutés au conteneur au fil du temps. Meilleure approche?
Merci, cela fonctionne, sauf pour faire défiler vers le bas lors de l'ajout d'un nouvel élément. Est-ce que vous connaissez une façon ViewModelly de le faire? – Matt
Essayez ceci: http://stackoverflow.com/questions/2006729/wpf-listbox-scroll-when-item-added – GraemeF