如何获得DataGrid中选定行的集合? MVVM WPF

问题描述 投票:0回答:1

下午好,我正在尝试获取DataGrid中选定行的列表,但是SelectedItem仅返回选定行,而不返回它们的列表。 = [

我在WPF项目中将Caliburn Micro用于MVVM。

-这是我的Datagrid ---

<DataGrid Margin="5" AutoGenerateColumns="False" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
      CanUserAddRows="False"  SelectionMode="Extended"  MinHeight="320"
      SelectedItem="{Binding Path=SelectedRows, Mode=OneWayToSource}"  x:Name="Avisos" SelectionUnit="FullRow">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Inquilino"  Binding="{Binding Inquilino}" MinWidth="150"/>
                <DataGridTextColumn Header="Propietário" Binding="{Binding Propietario}" MinWidth="150"/>
                <DataGridTextColumn Header="Imovel"  Binding="{Binding Imovel}" MinWidth="150"/>
                <DataGridTextColumn Header="Data Aviso" Binding="{Binding DataLembrete}" MinWidth="150"/>
                <DataGridTextColumn Header="Status" Binding="{Binding Status}" MinWidth="70"/>
                <DataGridTextColumn Header="Descrição" Binding="{Binding Descrição}" MinWidth="150" Width="*"/>
            </DataGrid.Columns>                
    <DataGrid> 

---这是我在ViewModel上的列表---

public ObservableCollection<AvisoModel> SelectedRows { get; set; }

-我收到此错误-]

Exceçãogerada:'System.NotSupportedException'em PresentationFramework.dllSystem.Windows.Data错误:7:ConvertBack无法转换值'MiniAgendadaTay.Models.AvisoModel'(类型为'AvisoModel')。 BindingExpression:Path = SelectedRows; DataItem ='MainWindowViewModel'(HashCode = 10588721);目标元素是“ DataGrid”(名称=“ Avisos”);目标属性为'SelectedItem'(类型为'Object')NotSupportedException:'System.NotSupportedException:CollectionConverter无法从MiniAgendadaTay.Models.AvisoModel转换。在MS.Internal.Data.DefaultValueConverter.ConvertHelper处(对象o,类型destinationType,DependencyObject targetElement,CultureInfo文化,布尔值isForward)在MS.Internal.Data.ObjectTargetConverter.ConvertBack(对象o,类型类型,对象参数,CultureInfo文化)在System.Windows.Data.BindingExpression.ConvertBackHelper(IValueConverter转换器,对象值,类型sourceType,对象参数,CultureInfo文化)'

[下午好,我正在尝试获取DataGrid中选定行的列表,但是SelectedItem仅返回选定行,而不返回它们的列表。 = [我在WPF中将Caliburn Micro用于MVVM ...

c# mvvm caliburn.micro caliburn
1个回答
0
投票

您可以定义为Behavior,它使用DataGrid的SelectedItems属性。 SelectedItems不是DepedencyProperty,这就是为什么您不能立即进行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.