【问题标题】:SelectedItem is not visually highlighted when set programmatically以编程方式设置时,SelectedItem 未在视觉上突出显示
【发布时间】:2011-12-17 17:01:29
【问题描述】:

我正在使用 silverlight 4 列表框控件来显示术语列表,在选择一个术语时,我正在调用 ria 服务来 获取该术语的相似词并为另一个列表框加载这些相似词。对于一个要求,我需要自动 获取默认或术语列表框中第一个术语的相似术语。我通过选择 itemsource 的第一项虽然我有一个问题,当我以编程方式设置列表框选定项时, 它正在设置,但是在视觉上所选项目没有被突出显示。任何想法为什么所选项目不是 以编程方式设置时突出显示。

当我将鼠标悬停在术语列表框上时,它们会发生变化。

注意:我附上了一个演示上述问题的 poc 应用程序,当我运行 poc 应用程序时,第一个类似的术语 显示术语列表框中的术语。但是,当我单击时,这种情况下的第一项“红色”没有在视觉上突出显示 UI 的术语列表框,第一项显示被透明矩形包围。

我尝试过的事情

我已使用 VSM 为 ListboxItem 样式指定 SelectedUnfocused 状态,并将该样式应用于 listboxItem 的 itemcontainerstyle 属性。

【问题讨论】:

  • 你能显示一些代码吗?设置有界属性后是否触发 PropertyChanged 事件?
  • 您很可能正在使用该类型的不同实例。为了让它自动连接,SelectedItem 实例必须存在于 ItemsSource 集合中。

标签: silverlight mvvm


【解决方案1】:

但是在视觉上,所选项目没有被突出显示。

致电ListBox.focus();

然后通过以下任一方式以编程方式选择您想要的项目:

ListBox.SelectedItem = item;
ListBox.SelectedIndex = index;
ListBox.SelectedItems.Add(item);
etc.

【讨论】:

    猜你喜欢
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-10
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多