代码如下
<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事件总是执行。
麻烦碰到过类似问题, 请共享下解决方案,谢谢!
冒泡事件可以设置事件参数的Handled属性为True来阻止事件继续往上传递。在HyperlinkButton的MouseDown中设置Handled为true。则它以上的父级控件不会再收到此鼠标事件。
你把那个事件 清除掉 就行了啊 右键属性里事件 找到这个事件 不就OK了 SelectionChanged是改变是触犯 所有你每次点就触发了 你去掉 就OK了
给HyperLinkButton添加客户端事件,而不是服务器端事件.如果给HyperLinkButton添加服务器端事件,肯定会有SelectionChanged事件