如何设置textBox位置使用相对位置?

时间:2017-07-04 03:15:24

标签: c# wpf listbox position listboxitem

在列表框中包含多个listitem,它将根据列表框高度显示列表框中的前5条记录。如果我滚动列表框项目第7条记录或任何在第一个位置。如果用户滚动listboxitem,我需要查找列表框所选项目哪个位置可见(根据高度在列表框中显示5条记录)

编辑:

lstbxindex.ItemContainerGenerator.ContainerFromItem(lstbxindex.SelectedItem);

            System.Windows.Point relativePoint = lstbxindex.TransformToVisual(listBoxItem)
                               .Transform(new System.Windows.Point(0, 0));

使用此代码我获得了listbox selecteditem的相对位置。如果用户在滚动后滚动列表框项目需要将文本框覆盖到列表框中的特定选定项目位置。所以我检查条件,

Listbox firstItem x=-2,y-2
Listbox secondItem x=-2,y=-56
Listbox thirdItem x=-2,y=-110
etc
relative position y increasing 54.

所以我检查

if(relativePoint.Y==56)
{
**//how to set the textbox to that relative position in listbox**
}

1 个答案:

答案 0 :(得分:0)

在winforms中,您可以使用Listbox.TopIndex属性访问顶部可见项目,请检查它是否在WPF中实现!以下是WINFORM App中的示例代码。

lstbxindex.Items[lstbxindex.TopIndex].ToString()