Как сделать плавный переход от элемента управления WebBrowser к изображению в Silverlight 4? - PullRequest
0 голосов
/ 31 января 2011


У меня на странице есть следующий XAML:

<Grid x:Name="LayoutRoot">  
        <Viewbox Stretch="Uniform">  
        <Image x:Name="myImage" />  
    </Viewbox>  
    <WebBrowser x:Name="myBrowser"  />  
</Grid>

, а затем в коде позади я переключаю видимость между изображением и содержимым браузера:

myBrowser.Visibility = Visibility.Collapsed;  
            myImage.Source = new BitmapImage(new Uri(p));  
            myImage.Visibility = Visibility.Visible;

и

myImage.Visibility = Visibility.Collapsed;  
            myBrowser.Source = new Uri(myPath + p, UriKind.Absolute);  
            myBrowser.Visibility = Visibility.Visible;

Это прекрасно работает, но теперь клиент хочет плавного перехода между отображением изображения и отображением браузера.Я пробовал несколько подходов, но всегда заходил в тупик.Есть ли у вас какие-либо идеи?

Я попытался установить два состояния, используя VSM, а затем отобразить белый прямоугольник сверху в качестве наложения до того, как произойдет своп, но это не сработало (полагаю, это потому, что над WebBrowser ничего нельзя поместить?) Я попытался настроить видимость элемента управления изображением и элемента управления веб-браузера с помощью VSM, но это тоже не сработало.Я действительно не знаю, что еще попытаться решить эту простую задачу.

Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 31 января 2011

Если вы ищете «плавный» переход, который вы, возможно, захотите использовать для плавного уменьшения или уменьшения контроля. Анимируйте непрозрачность каждого объекта. Например, установите непрозрачность ViewBox на ноль, а непрозрачность изображения на 100. Затем анимируйте свойство opacity обоих объектов.

Конечным результатом будет плавный переход от одного объекта к другому.

Вот статья MSDN, с которой можно начать: Обзор анимации

...