C# WP7-将ListBoxItem.IsSelected从c设置为true

C# WP7-将ListBoxItem.IsSelected从c设置为true,c#,silverlight,windows-phone-7,C#,Silverlight,Windows Phone 7,我有一个包含多个ListBoxItems的ListBox。我想将其中一些设置为“选定”。我正在尝试以下操作,但不起作用: ListBoxItem1.IsSelected = true; 结果是它编译时没有错误,但列表项保持未选中状态 有什么想法吗? 非常感谢! 威尔。因此,我无法证明为什么会发生这种情况,也无法证明这是否是文件中明确规定的WP7事件: 要在ListBox中选择ListBoxItem,请将此属性设置为true 但是,您始终可以使用该属性: // to add listBox.Se

我有一个包含多个ListBoxItems的ListBox。我想将其中一些设置为“选定”。我正在尝试以下操作,但不起作用:

ListBoxItem1.IsSelected = true;
结果是它编译时没有错误,但列表项保持未选中状态

有什么想法吗? 非常感谢!
威尔。

因此,我无法证明为什么会发生这种情况,也无法证明这是否是文件中明确规定的WP7事件:

要在ListBox中选择ListBoxItem,请将此属性设置为true

但是,您始终可以使用该属性:

// to add
listBox.SelectedItems.Add( someItem );

// to remove
listBox.SelectedItems.Remove( someItem );

// to clear
listBox.SelectedItems.Clear();

如果未启用multi-select,您可以简单地使用和/或属性。

因此,我无法证明发生这种情况的原因,也无法证明这是否是WP7事件,正如文档中明确指出的:

要在ListBox中选择ListBoxItem,请将此属性设置为true

但是,您始终可以使用该属性:

// to add
listBox.SelectedItems.Add( someItem );

// to remove
listBox.SelectedItems.Remove( someItem );

// to clear
listBox.SelectedItems.Clear();

如果未启用multi-select,您可以简单地使用和/或属性。

是否可以从viewmodel设置SelectedItems?@Vitalivasylenko:可能?当然,您可以随心所欲地编写代码。不过这是个坏主意。viewmodel不应绑定到特定的UI控件或UI中的任何内容。这就是将视图从模型中分离出来的第一点。@EdS。我说的是设计可能性好的,我需要的是控制ViewModel中的SelectedItems:它包含一个标记列表,所以当用户选择一个项目时,所有未选择的项目都应该被删除,并从服务器应答中添加新的项目。当用户再次选择第二个标记时,所有未选择的标记都应删除。此外,若页面被删除,则应恢复所选项目。因此,我应该可以从ViewModel访问SelectedItems。我还考虑过使用来自VM的消息来查看,并将SelectedItems保留在视图中,但我真的不喜欢这个想法。是否可以从viewmodel设置SelectedItems?@Vitalivasylenko:可能?当然,您可以随心所欲地编写代码。不过这是个坏主意。viewmodel不应绑定到特定的UI控件或UI中的任何内容。这就是将视图从模型中分离出来的第一点。@EdS。我说的是设计可能性好的,我需要的是控制ViewModel中的SelectedItems:它包含一个标记列表,所以当用户选择一个项目时,所有未选择的项目都应该被删除,并从服务器应答中添加新的项目。当用户再次选择第二个标记时,所有未选择的标记都应删除。此外,若页面被删除,则应恢复所选项目。因此,我应该可以从ViewModel访问SelectedItems。我还考虑过使用来自虚拟机的消息来查看,并将SelectedItems保留在视图中,但我真的不喜欢这个想法。