对于模糊的标题感到抱歉,我无法想出一个总结正在发生的事情的好方法.
我有一个绑定的WPF列表框:
<UserControl.Resources>
    <DataTemplate DataType="{x:Type local:MyBoundObject}">
        <TextBlock Text="{Binding Label}" />
    </DataTemplate>
</UserControl.Resources>
<ListBox ItemsSource="{Binding SomeSource}" SelectionMode="Extended">
    <ListBox.ItemContainerStyle>
        <Style TargetType="{x:Type ListBoxItem}">
            <Setter Property="IsSelected Value="{Binding Path=IsSelected, Mode=TwoWay}"/>
        </Style>
    </ListBox.ItemContainerStyle>
</ListBox>
我想只对所选项目进行操作.我这样做是通过遍历所有项目的列表并检查每个对象来查看是否设置了IsSelected属性.
除了当我在列表中有很多项目(足够,所以它们不是全部可见)时,这是有效的,我按CTRL-A选择所有项目.当我这样做时,所有可见项的IsSelected属性都设置为true,其余所有项都保留为false.一旦我向下滚动,其他项目就会进入视图,然后它们的IsSelected属性将设置为true.
有没有办法解决这种行为,以便当我按CTRL-A时,每个对象的IsSelected属性都设置为true?
小智 5
尝试设置
ScrollViewer.CanContentScroll="False"
在ListBox上,它应该修复ctrl +一个问题.
| 归档时间: | 
 | 
| 查看次数: | 3900 次 | 
| 最近记录: |