0

我在 .xaml 窗口中有一个 ListView,其中有一个条目列表。这是重要的代码:

<ListView Grid.Row="1" Name="findList" BorderThickness="0" Margin="-4,26,-4,-4">
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <EventSetter Event="MouseDoubleClick" Handler="OnFindItem"></EventSetter>
        </Style>
    </ListView.ItemContainerStyle>
    <ListView.View>
        <GridView>
            <GridViewColumn Header="ID" DisplayMemberBinding="{Binding Path=ID}" Width="32"/>
            <GridViewColumn Header="Key" DisplayMemberBinding="{Binding Path=Key}" Width="140"/>
            <GridViewColumn Header="English" DisplayMemberBinding="{Binding Path=English}" Width="250"/>
            <GridViewColumn Header="Translated Language" DisplayMemberBinding="{Binding Path=Translation}" Width="250"/>
        </GridView>
    </ListView.View>
</ListView>

当用户双击其中一个条目时,它会转到我的 C# 文件中的 OnFindItem。它的特定代码块(尽管完全损坏)在这里:

private void OnFindItem(object sender, RoutedEventArgs e)
    {
        ListViewItem output = e.Source as ListViewItem;
        if (output != null)
        {
            //More code here.
        }
    }

无论我似乎在 C# 中的这一点代码中调整了什么,我似乎都无法读取用户双击的行的内容。我已经检查了许多网页,包括 SO 和 MSDN 上的页面以及类似的解决方案,但是对于 C# 非常陌生,我只是看不到我应该在这里做什么。

在此先感谢,任何能够提供帮助的人!

4

1 回答 1

0

我终于找到了解决我的问题的方法。C# 代码应该如下所示:

private void OnFindItem(object sender, RoutedEventArgs e)
    {
        ListViewItem output = e.Source as ListViewItem;

        if (output != null)
        {
            DataRowView rowView = output.Content as DataRowView;
            if (rowView != null)
            {
                //More code here.
            }
         }
     }
于 2012-08-17T11:00:11.967 回答