【问题标题】:silverlight 3 listbox item highlight versus selectedsilverlight 3 列表框项目突出显示与选定
【发布时间】:2010-04-19 22:50:08
【问题描述】:

我有一个列表框,并试图在代码中选择和项目。有时会突出显示一个项目,即背景是蓝色的,但另一个项目周围有一个方形蓝色框(没有突出显示框的空心轮廓)。

我说一个“突出显示”和一个“选中”是否正确,我是否正确识别了它们?

应该发生这种情况吗...这两件事不同步吗?

谢谢 科迪

【问题讨论】:

    标签: silverlight listbox selecteditem listboxitem


    【解决方案1】:

    刚刚解决了这个问题。 尽管列表框滚动查看器也会自动滚动列表框中的选定项,但第一项将具有焦点,并且当您描述键盘交互时,然后使用列表中的第一项而不是选定项进行操作。

    对我们来说,解决办法是

                this.MyListBox.UpdateLayout(); 
                this.MyListBox.Focus();
                this.MyListBox.SelectedItem = MyObject;
                this.MyListBox.ScrollIntoView(this.MyListBox.SelectedItem);
    

    动作的顺序似乎很重要。

    这是使用 ListBox 内部滚动查看器。

    【讨论】:

      【解决方案2】:

      具有蓝色突出显示背景的项目是 SelectedItem。带有蓝色矩形的项目是当前认为它具有焦点的项目。

      通常情况下,焦点矩形和选定的填充会一起找到,因为选定的项目通常会随着鼠标单击而改变,这也会将焦点带到同一元素上。但是,例如,代码可能会在 ListBox 仍然具有焦点时更改所选项目。在这种情况下,选定的突出显示将移动新选定的项目,但焦点矩形将保持在原处。 (请注意,我描述的是用户看到的内容,而不是引擎盖下的实际工作方式)。

      要了解发生了什么,请参阅ListBox Styles and Templates 文档中的 ListBoxItem 样式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-29
        • 2012-02-02
        • 2014-04-28
        • 1970-01-01
        • 1970-01-01
        • 2015-12-21
        • 2013-12-22
        • 2013-10-26
        相关资源
        最近更新 更多