首页 新闻 搜索 专区 学院

如何实现点击Datagrid上的HyperlinkButton,只触发它的Click事件, 而不触发Datagrid的SelectionChanged事件?

0
悬赏园豆:60 [已解决问题] 解决于 2011-06-04 23:43

 代码如下

 <data:DataGrid  DataContext="{StaticResource KeyPollutSourceViewModel}" ItemsSource="{Binding DimSpace, Mode=OneWay}" AutoGenerateColumns="False" Style="{StaticResource NormalDataGridStyle}" Height="290" x:Name="dataGrid1" Width="280" SelectionChanged="dataGrid1_SelectionChanged">
                                <data:DataGrid.Columns>
                                    <data:DataGridTemplateColumn Header="污染源" Width="120" >

                                        <data:DataGridTemplateColumn.CellTemplate>
                                            <DataTemplate>
                                                <TextBlock Text="{Binding PollutName}"></TextBlock>
                                            </DataTemplate>
                                        </data:DataGridTemplateColumn.CellTemplate>
                                    </data:DataGridTemplateColumn>

                                    <data:DataGridTemplateColumn  Width="100" CellStyle="{StaticResource DataGrid_Cell_Right}" >
                                       
                                        <data:DataGridTemplateColumn.CellTemplate>
                                            <DataTemplate>
                                                <TextBlock Text="{Binding Path=drainnum, Converter={ StaticResource doubleConvert}, Mode=OneWay}"></TextBlock>
                                            </DataTemplate>
                                        </data:DataGridTemplateColumn.CellTemplate>
                                    </data:DataGridTemplateColumn>

                                    <data:DataGridTemplateColumn Header="排入河流" Width="100">
                                        <data:DataGridTemplateColumn.CellTemplate >
                                            <DataTemplate>
                                                <HyperlinkButton Tag="{Binding RiverCode}"  Content="{Binding RiverCode}"   Click="HyperlinkButton_Click" />
                                            </DataTemplate>
                                        </data:DataGridTemplateColumn.CellTemplate>
                                    </data:DataGridTemplateColumn>
                                </data:DataGrid.Columns>
                            </data:DataGrid>

我要实现的的目标是:点击某一行,则显示污染源明细,
点击这一行上的HyperLinkButton则只显示河流信息而

现在的问题是点击HyperlinkButton时,
SelectionChanged事件总是执行。

麻烦碰到过类似问题, 请共享下解决方案,谢谢!

植辉的主页 植辉 | 初学一级 | 园豆:39
提问于:2011-04-07 10:37
< >
分享
最佳答案
0

冒泡事件可以设置事件参数的Handled属性为True来阻止事件继续往上传递。在HyperlinkButton的MouseDown中设置Handled为true。则它以上的父级控件不会再收到此鼠标事件。

收获园豆:60
王燕丽 | 菜鸟二级 |园豆:230 | 2011-04-08 15:02
其他回答(2)
0

你把那个事件  清除掉 就行了啊   右键属性里事件  找到这个事件 不就OK了  SelectionChanged是改变是触犯 所有你每次点就触发了  你去掉 就OK了

小w威 | 园豆:37 (初学一级) | 2011-04-07 11:47
不太明白,能说明白点,或代码提示吗?
支持(0) 反对(0) 植辉 | 园豆:39 (初学一级) | 2011-04-07 11:51
0

给HyperLinkButton添加客户端事件,而不是服务器端事件.如果给HyperLinkButton添加服务器端事件,肯定会有SelectionChanged事件

murry | 园豆:215 (菜鸟二级) | 2011-04-07 15:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册