我需要能够在Windows 7中手动选择ListBox项。
<Style TargetType="ListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<[WP7Panels:WrapPanel][2] />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" />
</Style>这样我才能意识到包裹的效果。
当我在WPF中这样做时,我订阅了ListBox.ItemContainerGenerator.StatusChanged事件。在此事件的事件处理程序中,我使用:
var obj = ListBox.ItemContainerGenerator.ContainerForItem(objInstance)作为ListBoxItem;if (obj != null) { obj.IsSelected= true;}
我试图为WP7做同样的事情,并注意到:
补充一下,在列表框中显示的类中,我已经超过了GetHashCode和等号。
请给我点主意。
发布于 2012-01-17 23:04:47
我不确定这是否是最好的方法,但我会这样做:
1)创建继承INotifyPropertyChanged接口的类(您可以通过Google轻松找到如何使用它)。将您在该类中放入ListBox中的信息包装起来。
2)为该类创建一个IsSelected属性。
3)将类的IsSelected属性绑定到ListBox的项的IsSelected属性。
4)现在,您可以随时更改您所创建的类的IsSelected属性,并且一切自行发生。
https://stackoverflow.com/questions/8902838
复制相似问题