代码如下
<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事件总是执行。麻烦碰到过类似问题, 请共享下解决方案,谢谢!
4 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
冒泡事件可以设置事件参数的Handled属性为True来阻止事件继续往上传递。在HyperlinkButton的MouseDown中设置Handled为true。则它以上的父级控件不会再收到此鼠标事件。
慕村9548890
TA贡献1884条经验 获得超4个赞
你把那个事件 清除掉 就行了啊 右键属性里事件 找到这个事件 不就OK了 SelectionChanged是改变是触犯 所有你每次点就触发了 你去掉 就OK了
哆啦的时光机
TA贡献1779条经验 获得超6个赞
给HyperLinkButton添加客户端事件,而不是服务器端事件.如果给HyperLinkButton添加服务器端事件,肯定会有SelectionChanged事件
- 4 回答
- 0 关注
- 396 浏览
添加回答
举报
0/150
提交
取消