Windows phone 7 手动选择ListBoxItem
我需要能够手动选择WindowsPhone7中的列表框项目。我的列表框包含以下使用Windows phone 7 手动选择ListBoxItem,windows-phone-7,listboxitem,Windows Phone 7,Listboxitem,我需要能够手动选择WindowsPhone7中的列表框项目。我的列表框包含以下使用 这样我就可以实现包装效果 在WPF中执行此操作时,我订阅了ListBox.ItemContainerGenerator.StatusChanged事件。在该事件的事件处理程序中,我使用了: var obj=ListBox.ItemContainerGenerator.ContainerForItem(objInstance) 作为列表框项目;如果(obj!=null){ obj.IsSelected=true
这样我就可以实现包装效果
在WPF中执行此操作时,我订阅了ListBox.ItemContainerGenerator.StatusChanged事件。在该事件的事件处理程序中,我使用了:
var obj=ListBox.ItemContainerGenerator.ContainerForItem(objInstance)
作为列表框项目;如果(obj!=null){
obj.IsSelected=true;}
我试着为WP7做同样的事情,并注意到:
请给我一些想法。我不确定这是否是最好的方法,但我会这样做: 1) 创建一个继承INotifyPropertyChanged接口的类(您可以通过google轻松找到如何使用它)。将您放入该类列表框中的信息包装起来 2) 为该类创建IsSelected属性 3) 将类的IsSelected属性绑定到ListBox项的IsSelected属性
4) 现在,您可以随时更改所创建类的IsSelected属性,一切都会自动进行。好主意,谢谢。除非我这样做,XamlParser引发异常。如果在
中这样做代码>,它将不起作用,因为IsSelected不是ListBox的属性。您必须使用ItemTemplates在实际的ListBox中应用该属性。
<Style TargetType="ListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<[WP7Panels:WrapPanel][2] />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" />
</Style>