Заставить UserControl «выскользнуть» из боковой части экрана? - PullRequest
3 голосов
/ 28 марта 2012

Я использую следующий код для добавления вида в Grid:

private void OnShowNotesRequested(UserControl view)
        {
            if (view == null) throw new NotSupportedException("View should not be null");

            // Skip first GridRow - this is usually Toolbar
            if (this.AssociatedObject.RowDefinitions.Count > 1)
            {
                view.SetValue(Grid.RowSpanProperty, this.AssociatedObject.RowDefinitions.Count - 1);
                view.SetValue(Grid.RowProperty, 1);
            }

            view.SetValue(Grid.ColumnSpanProperty, this.AssociatedObject.ColumnDefinitions.Count == 0 ? 1 : this.AssociatedObject.ColumnDefinitions.Count);
            view.Width = 500;
            view.HorizontalAlignment = HorizontalAlignment.Right;

            this.AssociatedObject.Children.Add(view);
        }

По сути, я добавляю представление как дочерний элемент в Grid.Он стыкуется с правой стороны.

Я хочу, чтобы это выглядело так, как будто этот вид выдвигается из правой стороны и останавливается.Я понятия не имею, как подойти к нему и что я должен сделать, чтобы достичь этого визуального эффекта.Любые указатели на то, что и где мне нужно добавить?Может быть, ссылка на подобный эффект?

Я нашел здесь код анимации: http://forums.silverlight.net/t/82441.aspx

Это имеет смысл, однако, когда я скрываю свое представление - я полностью удаляю его из визуального дерева, вот так:1011 * Не уверен, как «подождать», а затем удалить его.

1 Ответ

1 голос
/ 28 марта 2012

Взгляните на инструмент Microsofts Expression Blend, он был создан специально для создания таких визуальных эффектов.

То, что вы хотите сделать, может быть достигнуто с помощью раскадровки, и это довольно просто!

По сути, после того, как раскадровка была создана (случай определения начальной и конечной позиции - в соответствии со временем (или кадрами)), вы можете активировать раскадровку при срабатывании определенного события.

Я знаю, что это не окончательный ответ, однако вот несколько уроков, которые помогут вам двигаться:

http://www.silverlightbuzz.com/2009/10/12/animating-with-storyboards-in-blend/ http://www.c -sharpcorner.com / uploadfile / mamta_m / creation-and-использование раскадровок в blendsilverlight-part-i / http://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CE4QFjAD&url=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fcc295092.aspx&ei=NDRzT42uPNS_8gPrz6xW&usg=AFQjCNGwT_hEkwGBXzS3holaM1g85I0S5Q&sig2=dSDJ6lL0CR3-nIR7WQ739g

Спасибо и удачи!

Бен

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