簡體   English   中英

如何在WPF中獲取相對於Scrollviewer的項目的偏移量?

[英]How to get offset of an item relative to Scrollviewer in WPF?

我有包含多個項目的ListBox,我想獲得一個項目相對於Scrollviewer的偏移量。 我嘗試使用TranslatePoint或TransformToAncestor方法做到這一點,但它僅適用於已經可見的項目。 那么,如何獲得列表末尾不可見的項的偏移量呢?

我認為這是不可能的,因為您使用的是VirtualizingStackPanel的默認ItemsPanel。 看不見的項目沒有附加到可視化樹上,它們從未被度量和布置,因此它們沒有位置。

如果不需要虛擬化,則應將ItemsPanel更改為StackPanel。 該面板將所有項目附加到可視樹,並且TranslatePoint / TransfromToAncestor將正常工作。

<ListBox>
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel/>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
    ...
</ListBox>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM