【发布时间】:2020-04-15 18:34:41
【问题描述】:
下午好, 我正在尝试获取 DataGrid 中选定行的列表,但是 SelectedItem 仅返回选定行,而不是它们的列表。 =[
我在我的 WPF 项目中使用 Caliburn Micro for MVVM。
---这是我的数据网格---
<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ção gerada: 'System.NotSupportedException' em PresentationFramework.dll System.Windows.Data 错误:7:ConvertBack 无法转换值“MiniAgenadaTay.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 文化)'
【问题讨论】:
标签: c# mvvm caliburn.micro caliburn