c# - 在 WPF 中按下 DataGrid 中的一行时执行一个函数?
问题描述
我正在尝试在我的 DataGrid 上实现一个功能,当按下一行时执行一个函数。我试过使用 DataGridCell.Selected,这个问题是它为网格的每一列执行“n”次,我希望这个方法只执行一次。我也尝试过使用 DataGridRow.Selected 但它不起作用。关于我该怎么做的任何想法?
编辑:该功能只需在行上单击一次即可执行,这就是我不使用 MouseDoubleClick 的原因
XAML
<Grid>
<StackPanel Background="#373A6B" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="4">
<DataGrid x:Name="ListNameTest" AutoGenerateColumns="False" Background="Transparent" BorderBrush="Transparent" CanUserAddRows="False"
GridLinesVisibility="Horizontal" HorizontalGridLinesBrush="#CBC3C3"
Margin="0" Padding="-5,0,0,0" Height="400" Width="550" DataGridCell.Selected="DataGridCell_Selected"
IsEnabled="True" >
<DataGrid.Resources>
<ResourceDictionary >
<Style x:Key="{x:Type DataGridCell}" TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#1F800C" />
<Setter Property="BorderBrush" Value="{x:Null}" />
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Background" Value="{x:Null}" />
<Setter Property="BorderBrush" Value="{x:Null}" />
</Style>
</ResourceDictionary>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="uno" Binding="{Binding id}" IsReadOnly="True" CanUserResize="False" Foreground="#FFF" FontSize="20">
<DataGridColumn.HeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="#2ECBC6"/>
<Setter Property="FontWeight" Value="Medium" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="FontSize" Value="18"/>
<Setter Property="Margin" Value="15,0" />
</Style>
</DataGridColumn.HeaderStyle>
<DataGridTextColumn.ElementStyle>
<Style>
<Setter Property="FrameworkElement.Margin" Value="15,0"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
提前谢谢你:)
解决方案
推荐阅读
- c++ - 在 C++ 中将(预定义的)原子值添加到向量
- asp.net-core - 未找到应用程序依赖项清单 (MyApp.deps.json) 中指定的程序集:
- php - 无法在 Phalcon PHP 中加载自定义路由
- flutter - 如果文本很长,如何使文本移至新行
- python - 无法操作 Tensorflow:setuptools 已过时
- bootstrap-4 - 带有ul和列的bootstrap 4 css在Safari上不起作用
- python - 我已经下载了 pyinstaller,但是当我尝试转换 python 文件时,它说 [Errno 13] Permission denied
- python - 如何循环遍历 88 个元素的列表的排列?
- python - Pandas 数据框-TypeError:'_io.TextIOWrapper' 类型的对象没有 len()
- ubuntu - 我的 Nginx 配置是 500 内部服务器错误的罪魁祸首吗?