Question

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">

--

Was it helpful?

Solution

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...

  }

OTHER TIPS

In the inner handler set

e.Handled = true;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top