我在.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#来说还是一个新手我只是看不到我应该在这里做什么。
提前致谢,任何有能力帮助的人!
答案 0 :(得分: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.
}
}
}