2010-12-05 5 views
4

ПриветWPF - Анимированные управления пользователя

Я в настоящее время делает приложение в WPF, как я довольно новыми для WPF я бегу в некоторые трудности. Я задал свой вопрос, но не имел большого успеха. Это текущая ситуация, XAML главного окна ниже:

<Grid Height="279" HorizontalAlignment="Left" Margin="166,0,0,0" Name="gridScoreboard" VerticalAlignment="Top" Width="808"> 
    <!--Scoreboard Image--> 
    <Image Source="pack://application:,,,/Images/Style/Scoreboard.png" Width="517" Height="91" HorizontalAlignment="Left" Margin="138,1,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" /> 

    <Canvas Name="canvasRacePlayer1" Width="14" Height="14" Canvas.Left="33" Canvas.Top="66" Background="Transparent" MouseLeftButtonDown="canvasRacePlayer1_MouseLeftButtonDown" Margin="171,70,623,195" /> 
    <local:ucRaces HorizontalAlignment="Center" Margin="93,62,632,187" Width="78" Visibility="Hidden" x:Name="ucRacesP1" Height="33" /> 
</Grid> 

пользовательский элемент управления скрыт от начальной (ucRaces) после того, как маленький холст (canvasRacePLayer1) щелкают пользовательский элемент управления будет показан. Однако я хотел бы, чтобы этот пользовательский элемент управления «скользил» справа налево с определенной точки. Как будто это станет видно небольшими шагами. Я нашел информацию для анимаций для прямоугольников и кнопок, но для пользовательских элементов управления не удалось добиться успеха.

Спасибо заранее

ответ

3

Если вы собираетесь создавать анимации для своего проекта WPF, я предлагаю вам использовать Expression Blend. Вы можете проектировать свою программу с помощью EB и реализовывать ее функциональность с помощью Visual Studio. Трудно сделать анимацию, написав синтаксис XAML или код C#.

Как вы сможете анимировать элементы управления пользователя с помощью EB? Ну, на самом деле это очень просто. Сначала вам нужно открыть существующий проект WPF. Затем перейдите в меню Файл -> Новый элемент -> Пользовательский элемент управления и создайте пользовательский элемент управления. Затем, если вы хотите добавить его в свой проект, вернитесь к проекту WPF, который в настоящее время открыт в EB, и щелкните правой стрелкой (>>) на панели инструментов, расположенной в левой части экрана, и перейдите в Project -> [Пользовательский контроль здесь]. Теперь вы добавили его в свой проект.

Если вы хотите анимировать пользовательский элемент управления, вы должны добавить StoryBoard на свою временную шкалу. Когда вы находитесь в проекте WPF в EB, в разделе «Объекты» и «Временная шкала», щелкните знак «плюс» (+) и добавьте новый StoryBoard. Теперь у вас есть график, который нужно использовать для анимации вашего пользовательского элемента управления. Вы можете поместить атрибуты KeyTime на временную шкалу и определить путь, по которому пользовательский элемент управления должен следовать из местоположения A в местоположение B, а также уровень непрозрачности, если вы хотите, чтобы пользовательский элемент управления стал видимым.

Вы можете добавить еще один пользовательский элемент управления и реализовать его логику для второго пользователя. Expression Blend сделает вашу жизнь проще.

0

оживляющий ваш UserControl не должны сильно отличаться от анимировать любой другой объект WPF: Вы можете анимировать запас (с помощью ThicknessAnimation), или уронить свой пользовательский элемент управления в канву его собственный, затем анимировать Canvas.Left объект вашего пользователя управление. В последнем случае позаботьтесь о том, чтобы в скобках было указано имя свойства: Storyboard.TargetProperty="(Canvas.Left)".

+0

Не могли бы вы предоставить C# код PLS? – 2011-11-18 11:22:08

Смежные вопросы