0

I have started learning the WPF. I am facing the problem regarding hover effect on the list box.

I have used the list box control. Inside that control, I have added toggle button and On toggle button click I have bound the other list box.

Say, Listbox -> Toggle button -> Listbox

enter image description here

I would like to remove parent (Name) list box item boarder hover effect when I hover over the title.

I have searched a lot but didn't found any hits how can remove parent hover effect from child element.

Here is the code that I have used for that.

        <StackPanel.Resources>
            <converters:BooleanToHiddenVisibility x:Key="boolToVis"/>
        </StackPanel.Resources>

        <ListBox ItemsSource="{Binding Items}" ScrollViewer.VerticalScrollBarVisibility="Auto" 
                 ScrollViewer.HorizontalScrollBarVisibility="Disabled"
                 ItemContainerStyle="{StaticResource NullSelectionStyle}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <VirtualizingStackPanel>
                        <ToggleButton  Name="checkViewTextBox" >
                            <ToggleButton.Style>
                                <Style TargetType="{x:Type ToggleButton}">
                                    <Setter Property="Template">
                                        <Setter.Value>
                                            <ControlTemplate TargetType="{x:Type ToggleButton}">
                                                <Grid>
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                                                        <ColumnDefinition Width="*"></ColumnDefinition>
                                                    </Grid.ColumnDefinitions>
                                                    <Grid Grid.Row="0" Grid.Column="0">
                                                        <TextBlock Name="Text" Text="{Binding Title}" HorizontalAlignment="Center" MinWidth="30"/>
                                                    </Grid>
                                                    <Grid Grid.Row="0" Grid.Column="1">
                                                        <Image Source="C:\Work\Temp_Olotech\ToggleButton\ToggleButton\Tick_Mark_Dark-512.png"  Height="20" Width="20"/>
                                                    </Grid>
                                                </Grid>
                                            </ControlTemplate>
                                        </Setter.Value>
                                    </Setter>
                                </Style>
                            </ToggleButton.Style>
                        </ToggleButton>

                        <ListBox ItemsSource="{Binding InnerItem}" Visibility="{Binding Path=IsChecked, ElementName=checkViewTextBox, 
                                Converter={StaticResource boolToVis}}" ScrollViewer.VerticalScrollBarVisibility="Auto" Height="200">
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                        <VirtualizingStackPanel CanVerticallyScroll="True">
                                            <Expander Header="Title">
                                                <VirtualizingStackPanel>
                                                    <TextBlock Text="{Binding Name}"></TextBlock>
                                                </VirtualizingStackPanel>
                                            </Expander>
                                        </VirtualizingStackPanel>
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>


                    </VirtualizingStackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>



        <TextBox Text="only seen when above checkbox is checked"
             Visibility="{Binding Path=IsChecked, ElementName=checkViewTextBox, Converter={StaticResource boolToVis}}"/>
    </StackPanel>
</Grid>

Thank you for the help!

100mil
  • 104
  • 8

0 Answers0