簡體   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