[英]DataGridListView's SelectedItem null in MVVM after binding WPF C#
我在数据网格列表视图的选定项的数据绑定方面遇到了一些麻烦。 我使用命令和命令参数在双击上实现了一个事件。 我想将我双击的行(所选项目)作为命令参数传递。
我试过这个:
<ui:DataGridListView Grid.Row="1" Margin="6" MinHeight="200"
Name="PTest"
ItemsSource="{Binding Source={StaticResource model}, Path=EsecuzioniCollection}"
VisibleItems="{Binding Source={StaticResource model}, Path=VisibleItems, Mode=OneWayToSource}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction CommandParameter="{Binding Source={StaticResource model}, Path= SelectedItem}" Command="{Binding Source={StaticResource model}, Path=MouseDoubleClickCommand}">
</i:InvokeCommandAction>
</i:EventTrigger>
</i:Interaction.Triggers>
...............
</ui:DataGridListView>
但是当调用命令时,参数 SelectedItem 是 null:
public async void MouseDoubleClick(PerimetriTestDataItem item)
{
...
}
我也尝试将 SelectedItem={Binding SelectedItem} 放在 ui:DataGridListView 上,但它在我的视图模型上是 null。
有没有办法绑定行? 任何技巧?
谢谢
在没有任何其他信息的情况下,我假设 SelectedItem 是model
中的一个属性,它看起来不像 StaticResource model 中的 SelectedItem 绑定到任何东西。 我相信您可以尝试以下两个步骤之一。
用i:InvokeCommandAction CommandParameter="{Binding Source={StaticResource model}, Path= SelectedItem}" Command="{Binding Source={StaticResource model}, Path=MouseDoubleClickCommand}">
i:InvokeCommandAction CommandParameter="{Binding Source={ElementName=PTest, Path=SelectedItem}, Path= SelectedItem}" Command="{Binding Source={StaticResource model}, Path=MouseDoubleClickCommand}">
而不是 SelectedItem={Binding SelectedItem} on ui:DataGridListView 试试SelectedItem={Binding Source={StaticResource model}, Path=SelectedItem}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.