Как получить или вычислить фактическую ширину ListBox без вертикальной полосы прокрутки, если она видна - PullRequest
10 голосов
/ 03 апреля 2011

Интересно, как получить или вычислить фактическую ширину ListBox без Вертикальная полоса прокрутки , если она видна.

Я хочу изменить ширину каждого элемента внутри ListBox , не перекрывая вертикальную полосу прокрутки .

Width="{Binding ActualWidth, 
    RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBox}}}

По крайней мере, над связыванием укажите фактическую ширину ListBox , но этот не обрабатывает ширину вертикальной полосы прокрутки.

Есть ли хороший способ решить эту проблему?

1 Ответ

27 голосов
/ 03 апреля 2011

Попробуйте вместо этого связать свойство ViewportWidth содержащего ScrollViewer.

Как это:

Width="{Binding Path=ViewportWidth, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ScrollViewer}}"
...