Silverlight新手。我正在开发一个聊天应用程序,将新的聊天消息添加到列表的底部。我有一个工作版本,在ScrollViewer中用作StackPanel,然后在使用StackPanel.Children.Add()后面的代码中使用。如何从ViewModel绑定StackPanel子项?
我试图将其转换为View-ViewModel方法,并且我无法弄清楚如何将StackPanel的子项绑定到任何集合属性。我试过这个:
<ScrollViewer Name="scrollMessages" Grid.Row="2" Margin="0,0,0,0" VerticalScrollBarVisibility="Visible">
<StackPanel x:Name="pnlMessages" Orientation="Vertical" Children="{Binding Path=ExampleTBs}" />
</ScrollViewer>
其中ExampleTBs是在代码中创建的TextBlocks的集合。这失败了XAML解析,Children属性不能以这种方式绑定。
绑定到StackPanel本身的方法是否可修复?我应该使用不同的容器类型吗?我看到另一个问题,其中的人在代码中创建整个StackPanel,然后使用ContentPresenter ...
底线,我想找到一种方法来将我的视图绑定到视图模型,使用类似StackPanel的视图作为容器,随着时间的推移,连续的物品将被添加到容器中。最佳方法?
谢谢,这个工程,除了滚动到底部添加一个新的项目。关于你的头,你知道一个ViewModelly这样做的方式吗? – Matt 2010-07-09 16:59:04
试试这个:http://stackoverflow.com/questions/2006729/wpf-listbox-scroll-when-item-added – GraemeF 2010-07-10 21:47:29