WPF listbox嵌套模板后IsHitTestVisible的false或true
冏程序 2015-09-06 05:56:48 XAML代码如下:
<ListBox x:Name="listbox1" BorderThickness="0.5" ItemsSource="{Binding Nodes}" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" VerticalAlignment="Top" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.CanContentScroll="True" ScrollViewer.PanningMode="Both" >
<ListBox.ItemTemplate>
<DataTemplate>
<Expander Style="{StaticResource ExpanderStyle}">
<Expander.Header>
<Grid x:Name="oneGrid" Tag="1" Width="345" Height="60">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="1.5*"/>
<ColumnDefinition Width="4.3*"/>
<ColumnDefinition Width="3.5*"/>
<ColumnDefinition Width="0.2*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding OrgName}" Grid.Column="1" Grid.ColumnSpan="2" ToolTip="{Binding OrgName}" MaxWidth="160" TextTrimming="WordEllipsis" VerticalAlignment="Center"
Foreground="Black" FontSize="18" HorizontalAlignment="Left"/>
<VirtualizingStackPanel x:Name="stackPanel" Grid.Column="3" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="{Binding PoliceCount}" FontSize="13"/>
<TextBlock Text="/" Margin="2,0,2,0"/>
<TextBlock Text="{Binding PoliceCount}" FontSize="13"/>
</VirtualizingStackPanel>
</Grid>
</Expander.Header>
<Expander.Content>
<ListBox x:Name="listbox2" ItemsSource="{Binding Nodes}" BorderBrush="Transparent" BorderThickness="0"
ScrollViewer.HorizontalScrollBarVisibility="Disabled" IsHitTestVisible="True"
ScrollViewer.CanContentScroll="True" ScrollViewer.PanningMode="Both"
HorizontalAlignment="Left" VerticalAlignment="Top" SelectionChanged="listbox2_SelectionChanged"
Margin="-6,0,0,0" Width="375" Background="#F0EFEC" MouseWheel="listbox2_MouseWheel">
<ListBox.ItemTemplate>
<DataTemplate>
<Expander Style="{StaticResource ExpanderStyle}">
<Expander.Header>
<Grid x:Name="twoGrid" Tag="2" Width="365" Height="60">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="2.5*"/>
<ColumnDefinition Width="3.3*"/>
<ColumnDefinition Width="3.5*"/>
<ColumnDefinition Width="0.2*"/>
</Grid.ColumnDefinitions>
<VirtualizingStackPanel x:Name="stackPanel2" Grid.Column="1" Grid.ColumnSpan="2" HorizontalAlignment="Left" VerticalAlignment="Center" Orientation="Horizontal">
<Image Source="/Resource;component/Images/Police/NewPolice/dot.png" Width="6" VerticalAlignment="Center"/>
<TextBlock Text="{Binding OrgName}" ToolTip="{Binding OrgName}" TextAlignment="Left" Width="160" TextTrimming="WordEllipsis"
VerticalAlignment="Center" Foreground="Black" FontSize="16" HorizontalAlignment="Left" Margin="15,0,0,0"/>
</VirtualizingStackPanel>
<VirtualizingStackPanel x:Name="stackPanel2_1" Grid.Column="3" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="{Binding PoliceCount}" FontSize="13"/>
<TextBlock Text="/" Margin="2,0,2,0"/>
<TextBlock Text="{Binding PoliceCount}" FontSize="13"/>
</VirtualizingStackPanel>
</Grid>
</Expander.Header>
<Expander.Content>
<ListBox x:Name="listbox3" ItemsSource="{Binding PoliceList}" BorderBrush="Transparent" BorderThickness="0"
ScrollViewer.HorizontalScrollBarVisibility="Disabled" IsHitTestVisible="True"
ScrollViewer.CanContentScroll="True" ScrollViewer.PanningMode="Both">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid x:Name="threeGrid" Width="425" Height="50">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="2.5*"/>
<ColumnDefinition Width="3.5*"/>
<ColumnDefinition Width="2.5*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Rectangle HorizontalAlignment="Left" VerticalAlignment="Stretch" Fill="{Binding Status, Converter={StaticResource ps2b}}" Width="10" Margin="5,2,1,2" Grid.Column="0"/>
<VirtualizingStackPanel x:Name="stackPanel3" Cursor="Hand" Margin="10,0,0,0" Grid.Column="1" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Orientation="Horizontal">
<TextBlock Text="{Binding Plate}" ToolTip="{Binding Plate}" TextAlignment="Left" Width="160" FontSize="14" FontWeight="Black" TextWrapping="NoWrap" TextTrimming="WordEllipsis" VerticalAlignment="Center" Margin="15,0,0,0"/
</VirtualizingStackPanel>
<VirtualizingStackPanel x:Name="stackPanel3_1" Grid.Column="3" Grid.ColumnSpan="2" VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Right">
<Image Source="/Resource;component/Images/Police/NewPolice/tellphone.png" HorizontalAlignment="Left" Width="24" Height="24" Margin="15,0,15,0"/>
<Image Source="/Resource;component/Images/Police/NewPolice/walkie-talkie.png" HorizontalAlignment="Left" Width="13" Height="30" Margin="8,0,15,0"/>
<Image Source="/Resource;component/Images/Police/NewPolice/camera.png" HorizontalAlignment="Left" Width="24" Height="24" Margin="8,0,13,0"/>
</VirtualizingStackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Expander.Content>
</Expander>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Expander.Content>
</Expander>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
1、当listbox2的IsHitTestVisible的属性为false时,可对列表进行操作,但不支持鼠标滚轮操作;
2、当listbox2的IsHitTestVisible的属性为true时,不可对列表操作,能支持鼠标滚轮操作
现在我想即支持对列表进行操作,有支持鼠标滚轮操作,有那位大神帮帮忙!!!!!
这个问题纠结我很长世间了,各位高手帮帮忙了!!!!!!!!!