ScrollViewer Изменение размера контента, тогда ScrollToOffset не работает - PullRequest
0 голосов
/ 15 июня 2011

Я использую средство прокрутки для отображения изображения внутри него.

<ScrollViewer Name="scrollViewer1" Height="500" Width="500" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Padding="0" >
    <Image x:Name="img1" Width="100" Source="/MyApp;component/Images/Test.jpg" />
</ScrollViewer>

Но когда я изменяю размер изображения в коде и немедленно использую scrollViewer.ScrollToHorizontOffset () (для изменения положения изображения) оно не работает:

img1.Width = 1000;
scrollViewer1.ScrollToHorizontalOffset(500);

Я проверил свойство ScrollableWidth после того, как img1.Width = 1000 действительно оноеще не обновлено.Поэтому я использовал UpdateLayout () сразу после изменения размера изображения, отлично теперь ScrollableWidth обновлено:

img1.Width = 1000;
scrollViewer1.UpdateLayout();
scrollViewer1.ScrollToHorizontalOffset(500);

, но ScrollToHorizontOffset все еще не работает.Если я сделаю это потом, при нажатии другой кнопки пользователя это будет работать.: /

У кого-нибудь есть подсказка?

1 Ответ

0 голосов
/ 15 июня 2011

Неважно ... Моя ошибка, пример выше работает.В моем проекте я основывал ScrollToHorizontalOffset на img1.ActualWidth, который не был обновлен.

Извините: /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...