I have a listbox inside a listview. on Both of them I have selectionchanged event. When I fire child control event parent control fires automatically. I need to stop this behaviour. Any hints? Thanks!

<ListView Name="listView1"
          ItemContainerStyle="{StaticResource RowStyle}" AlternationCount="2"
          SelectionChanged="listViewTask_SelectionChanged">
    <ListView.View>
        <GridView>
            <GridViewColumn Width="150">
                <GridViewColumnHeader Name="gridViewColumnHeader1"
                                      Click="SortClick" Tag="Style"
                                      Content="Style"
                                      ToolTip="Click to Sort Style"/>
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <ListBox ScrollViewer.VerticalScrollBarVisibility="Hidden"
                             ScrollViewer.HorizontalScrollBarVisibility="Hidden"
                             BorderBrush="White"
                             SelectionChanged="listBox_SelectionChanged" 
                             Name="listbox" ItemsSource="{Binding Text}"
                             Style="{StaticResource Textblockstyle}"
                             ToolTipService.ShowDuration="360000000">

--

有帮助吗?

解决方案

you can use the OriginalSource property in the selection changes event

if( ((ListView)e.OriginalSource).Name.Equals("name of the listview"))
  {
   // handle the event here...

  }

其他提示

In the inner handler set

e.Handled = true;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top