C# 移除子listbox项WPF悬停时父listbox项上的悬停效果
我已经开始学习WPF了。我面临的问题是列表框上的悬停效果 我使用了列表框控件。在该控件中,我添加了切换按钮,在切换按钮单击时,我绑定了另一个列表框 说, 列表框->切换按钮->列表框 当我将鼠标悬停在标题上时,我想删除父(名称)列表框项目的边框悬停效果 我搜索了很多,但没有找到任何关于如何从子元素中移除父悬停效果的点击 这是我使用的代码C# 移除子listbox项WPF悬停时父listbox项上的悬停效果,c#,wpf,C#,Wpf,我已经开始学习WPF了。我面临的问题是列表框上的悬停效果 我使用了列表框控件。在该控件中,我添加了切换按钮,在切换按钮单击时,我绑定了另一个列表框 说, 列表框->切换按钮->列表框 当我将鼠标悬停在标题上时,我想删除父(名称)列表框项目的边框悬停效果 我搜索了很多,但没有找到任何关于如何从子元素中移除父悬停效果的点击 这是我使用的代码 谢谢你的帮助 问题可能重复,因此您根本不希望父列表框出现任何鼠标悬停效果?是的,我不希望父列表出现鼠标悬停效果,但在父列表展开时会出现鼠标悬停效果。简
谢谢你的帮助 问题可能重复,因此您根本不希望父列表框出现任何鼠标悬停效果?是的,我不希望父列表出现鼠标悬停效果,但在父列表展开时会出现鼠标悬停效果。简而言之,您需要编辑
ItemContainerStyle
的模板。
<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>