我在wpf应用程序中添加了一个datagrid.
<DataGrid ItemsSource="{Binding Projects}" SelectedItem="{Binding SelectedProject}" MouseDoubleClick="DataGrid_MouseDoubleClick" />
Run Code Online (Sandbox Code Playgroud)
这是我背后的代码
private void DataGrid_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
if selected row is header
then do this
else
do this
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是我是如何知道哪一个是双击的.它是标题或行.我怎么能找到它.
不是在DataGrid中添加双击事件,而是为DataGridRow和DataGridColumnHeader添加sperate事件.更新了XAML:
<DataGrid ItemsSource="{Binding Projects}" SelectedItem="{Binding SelectedProject}" MouseDoubleClick="DataGrid_MouseDoubleClick">
<DataGrid.Resources>
<Style TargetType="DataGridRow">
<EventSetter Event="MouseDoubleClick" Handler="DataGridRow_MouseDoubleClick" />
</Style>
</DataGrid.Resources>
<DataGrid.Resources>
<Style TargetType="DataGridColumnHeader">
<EventSetter Event="MouseDoubleClick" Handler="DataGridColumnHeader_MouseDoubleClick" />
</Style>
</DataGrid.Resources>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
这里有代码.
private void DataGridRow_MouseDoubleClick(object sender, System.Windows.RoutedEventArgs e)
{
// This is when a row is double clicked.
}
private void DataGridColumnHeader_MouseDoubleClick(object sender, System.Windows.RoutedEventArgs e)
{
// This is when header is double clicked.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6220 次 |
| 最近记录: |