使用silverlight MVVM在GridView中进行复选框绑定

时间:2011-05-26 08:26:33

标签: silverlight mvvm

有一个GridView有多行,我想要的是,用户可以选择多个复选框和 最后,他将按下一个按钮,将所有选定的行存储到数据库中。 我正在使用Silverlight MVVM模型,我的复选框列看起来像这样

<c1:DataGridTemplateColumn Header="Select">
    <c1:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <StackPanel>
                <CheckBox IsEnabled="True" DataContext="{Binding Source={StaticResource view}}"></CheckBox>
            </StackPanel>
        </DataTemplate>
    </c1:DataGridTemplateColumn.CellTemplate>
</c1:DataGridTemplateColumn>

1 个答案:

答案 0 :(得分:1)

您可以直接使用名为DataGridCheckBoxColumn的控件:

<sdk:DataGrid ItemsSource="{Binding Items}">
    <sdk:DataGrid.Columns>
        <sdk:DataGridCheckBoxColumn Header="Select"
                                    Binding="{Binding IsChecked, Mode=TwoWay}"/>
    </sdk:DataGrid.Columns>
</sdk:DataGrid>

然后,在按钮命令上,您可以使用Linq查询来选择已检查的元素,如下所示:

var selected = from i in Items
               where i.IsChecked
               select i;

然后,您可以将所选项目保存在数据库中。

希望这会有所帮助:)