繁体   English   中英

在wpf DataGrid中单击DataGridTemplateColumn中的按钮时如何停止行选择

[英]How do I stop row selection when a button in DataGridTemplateColumn is clicked in wpf DataGrid

我在wpf中有一个包含三个按钮的Template列的datagrid。 单击这些按钮中的任何一个时,包含这些按钮的行也会突出显示。 我想禁用此行突出显示和选择。 不需要突出显示,不应该选择该行。

<DataGridTemplateColumn CanUserResize="False" ClipboardContentBinding="{x:Null}" Width="80" Header="L-Op">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <StackPanel x:Name="LogicalPanel" Orientation="Horizontal">
                            <Button Content="{Binding LogicalOperator, Converter={StaticResource LogicalOperatorValueConverter}}" Foreground="#548DD4" FontStyle="Italic"
                                    Click="LogicalOperator_Click" VerticalAlignment="Center" Margin="3,0,0,3" Width="30">
                                <Button.Template>
                                    <ControlTemplate TargetType="{x:Type Button}">
                                        <ContentPresenter />
                                    </ControlTemplate>
                                </Button.Template>
                            </Button>
                            <Button x:Name="btnAdd" Height="20" Width="20" Style="{StaticResource ShowHideButton}" Margin="2,0" Click="btnAdd_Click" VerticalAlignment="Center" >
                                <Image Source="Add.png" />
                            </Button>
                            <Button x:Name="btnRemove" Height="20" Width="20" Style="{StaticResource ShowHideButton}" Click="btnRemove_Click" VerticalAlignment="Center">
                                <Image Source="remove.jpg" />
                            </Button>
                        </StackPanel>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>

可以使用PreviewMouseLeftButtonDown并设置e.Handled = true;来代替使用Click Event e.Handled = true; 在处理程序中。 您可以在此处理程序中执行代码,并且行不会突出显示或选中。

但是,有一个很大的区别:通常在鼠标按钮向上时发生Click事件,这样会立即引发该事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM