繁体   English   中英

DataGridListView's SelectedItem null 在MVVM中绑定后 WPF C#

[英]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 绑定到任何东西。 我相信您可以尝试以下两个步骤之一。

  1. 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}">

  2. 而不是 SelectedItem={Binding SelectedItem} on ui:DataGridListView 试试SelectedItem={Binding Source={StaticResource model}, Path=SelectedItem}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM