相关疑难解决方法(0)

使用ViewModel中的集合在muliselect列表框中同步SelectedItems

我在使用棱镜的SL3应用程序中有一个多选列表框,我需要在我的viewmodel中包含列表框中当前所选项目的集合.

viewmodel对视图一无所知,因此它无权访问列表框控件.此外,我需要能够从viewmodel清除列表框中的选定项目.

不知道如何解决这个问题

谢谢迈克尔

prism mvvm silverlight-3.0

20
推荐指数
2
解决办法
2万
查看次数

ListView + MultipleSelect + MVVM =?

如果我说"哎呀!",我可以给我的ListView和SelectionMode ="Multiple"这个名字,并且能够很容易地获得所有选定的项目.但我试图尽可能地坚持MVVM,我想以某种方式数据绑定到一个ObservableCollection,它保存每个选定项的Name列的值.你是怎么做到这一点的?单选很简单,但对于我目前的WPF/MVVM知识,多选解决方案并不明显.

在SO上阅读了这个问题,虽然它确实给了我一些很好的见解,但我不知道如何在行中添加必要的绑定,因为我使用的是带有GridView的ListView作为View,而不是ListBox.

这是我的XAML基本上看起来像:

<ListView DockPanel.Dock="Top" ItemsSource="{Binding ClientPreview}" SelectionMode="Multiple">
    <ListView.View>
        <GridView AllowsColumnReorder="False">
            <GridViewColumn Header="Name">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=Name}" />
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Address">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=Address}" />
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>
Run Code Online (Sandbox Code Playgroud)

听起来正确的做法是将每行的IsSelected属性数据绑定到存储在我正在数据绑定的ObservableCollection中的每个对象.我还没弄明白怎么做.

c# wpf listview gridview mvvm

9
推荐指数
1
解决办法
3703
查看次数

标签 统计

mvvm ×2

c# ×1

gridview ×1

listview ×1

prism ×1

silverlight-3.0 ×1

wpf ×1