<ListBox ItemsSource="{Binding Provinces}" DisplayMemberPath="ProvinceName"/>
ListBox其实有一个默认的ItemTemplate,它以一个Content控件来显示DisplayMemberPath定义的字段的内容,我们可以自定义ItemTemplate让ListBox显示更多的内容,注意ItemTemplate与DisplayMemberPath不能同时定义
<ListBox ItemsSource="{Binding Provinces}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ProvinceName}"/>
<TextBlock Margin="5,0,2,0" Text="省会:"/>
<TextBlock Text="{Binding Capital}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Datagrid 的分组绑定:
<UserControl.Resources>
<CollectionViewSource x:Key="ProductsGroup" Source="{Binding Products}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="ProductDate" />
</CollectionViewSource.GroupDescriptions>
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="ProductDate" Direction="Descending" />
<scm:SortDescription PropertyName="ID" Direction="Ascending" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</UserControl.Resources>
...
...
<sdk:DataGrid DataContext="{StaticResource ProductsGroup}" AutoGenerateColumns="False"
ItemsSource="{Binding}" SelectedItem="{Binding SelectedProduct}" Width="300" >
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding ID}" Header="编号" />
<sdk:DataGridTextColumn Binding="{Binding Name}" Header="名称" />
<sdk:DataGridTextColumn Binding="{Binding Desc}" Header="说明" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
转载于:https://www.cnblogs.com/Ken-Cai/archive/2012/02/10/2345460.html
最后
以上就是孝顺路灯最近收集整理的关于MVVM Light 列表类型控件的处理: Combobox、ListBox、Datagrid等所有能绑定到集合的控件...的全部内容,更多相关MVVM内容请搜索靠谱客的其他文章。
发表评论 取消回复