在子列表框项WPF上悬停时,删除父列表框项上的悬停效果

时间:2018-05-20 23:48:04

标签: c# wpf

我已经开始学习WPF了。我正面临着关于列表框上悬停效果的问题。

我使用了列表框控件。在该控件内部,我添加了切换按钮和On切换按钮单击我已绑定其他列表框。

说,  列表框 - >切换按钮 - >列表框

enter image description here

当我将鼠标悬停在标题上时,我想删除父(姓名)列表框项目边框悬停效果。

我搜索了很多,但没有找到任何点击如何从子元素中删除父级悬停效果。

以下是我用过的代码。

        

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

感谢您的帮助!

0 个答案:

没有答案