Двойной щелчок по всей строке в gridview
Я хочу щелкнуть по всей строке в моем виде сетки, и он покажет мне диалоговое окно. Это диалоговое окно содержит значения в самой моей сетке. Вот мой пример кода xaml..
<telerik:GridViewDataColumn Header="First Name" Width="*" DataMemberBinding="{Binding FirstName}" />
<telerik:GridViewDataColumn Header="Last Name" Width="*" DataMemberBinding="{Binding LastName}" />
<telerik:GridViewDataColumn Header="Middle Name" Width="*" DataMemberBinding="{Binding MiddleName}" />
<telerik:GridViewDataColumn Header="Registration Day" Width="*" DataMemberBinding="{Binding RegistrationDay, StringFormat={}{0:dd/MM/yyyy}}" />
<telerik:GridViewDynamicHyperlinkColumn Header="Email" Width="*" DataMemberBinding="{Binding Email}" />
<telerik:GridViewDataColumn Header="Password" Width="*" DataMemberBinding="{Binding Access}" />
эти значения также являются значениями в моем диалоговом окне. Я просто хочу сделать двойной щелчок на строке, вместо того, чтобы нажимать кнопку редактирования, которую я реализую.. Надеюсь, вы мне поможете...
2 ответа
Два пути:
установить gridview's
IsReadOnly = true
и чем установить событие MouseDoubleClick gridview:private void dg1_MouseDoubleClick(object sender, MouseButtonEventArgs e) { Student s = dg1.SelectedItem as Student; if (s != null) { MessageBox.Show(s.Name + " " + s.Age); } }
установить EventView PreviewMouseDoubleClick Event:
private void dg1_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e) { Student s = dg1.SelectedItem as Student; if (s != null) { MessageBox.Show(s.Name + " " + s.Age); } e.Handled = true; }
Если вы используете MVVM, вы, вероятно, предпочли бы присоединить ICommand, которому в качестве параметра будет передан DataContext строки, по которой был выполнен щелчок.