Browse Source

Make carousel page transition changable in catalog.

pull/390/head
Steven Kirk 11 years ago
parent
commit
fd36871332
  1. 2
      samples/ControlCatalog/Pages/CarouselPage.paml
  2. 23
      samples/ControlCatalog/Pages/CarouselPage.paml.cs
  3. 1
      src/Perspex.Controls/Perspex.Controls.csproj

2
samples/ControlCatalog/Pages/CarouselPage.paml

@ -22,7 +22,7 @@
<StackPanel Orientation="Horizontal" Gap="4"> <StackPanel Orientation="Horizontal" Gap="4">
<TextBlock VerticalAlignment="Center">Transition</TextBlock> <TextBlock VerticalAlignment="Center">Transition</TextBlock>
<DropDown SelectedIndex="0" VerticalAlignment="Center"> <DropDown Name="transition" SelectedIndex="1" VerticalAlignment="Center">
<ListBoxItem>None</ListBoxItem> <ListBoxItem>None</ListBoxItem>
<ListBoxItem>Slide</ListBoxItem> <ListBoxItem>Slide</ListBoxItem>
<ListBoxItem>Crossfade</ListBoxItem> <ListBoxItem>Crossfade</ListBoxItem>

23
samples/ControlCatalog/Pages/CarouselPage.paml.cs

@ -1,4 +1,6 @@
using Perspex.Controls; using System;
using Perspex.Animation;
using Perspex.Controls;
using Perspex.Markup.Xaml; using Perspex.Markup.Xaml;
namespace ControlCatalog.Pages namespace ControlCatalog.Pages
@ -8,12 +10,14 @@ namespace ControlCatalog.Pages
private Carousel _carousel; private Carousel _carousel;
private Button _left; private Button _left;
private Button _right; private Button _right;
private DropDown _transition;
public CarouselPage() public CarouselPage()
{ {
this.InitializeComponent(); this.InitializeComponent();
_left.Click += (s, e) => _carousel.Previous(); _left.Click += (s, e) => _carousel.Previous();
_right.Click += (s, e) => _carousel.Next(); _right.Click += (s, e) => _carousel.Next();
_transition.SelectionChanged += TransitionChanged;
} }
private void InitializeComponent() private void InitializeComponent()
@ -22,6 +26,23 @@ namespace ControlCatalog.Pages
_carousel = this.FindControl<Carousel>("carousel"); _carousel = this.FindControl<Carousel>("carousel");
_left = this.FindControl<Button>("left"); _left = this.FindControl<Button>("left");
_right = this.FindControl<Button>("right"); _right = this.FindControl<Button>("right");
_transition = this.FindControl<DropDown>("transition");
}
private void TransitionChanged(object sender, SelectionChangedEventArgs e)
{
switch (_transition.SelectedIndex)
{
case 0:
_carousel.Transition = null;
break;
case 1:
_carousel.Transition = new PageSlide(TimeSpan.FromSeconds(0.25));
break;
case 2:
_carousel.Transition = new CrossFade(TimeSpan.FromSeconds(0.25));
break;
}
} }
} }
} }

1
src/Perspex.Controls/Perspex.Controls.csproj

@ -63,6 +63,7 @@
<Compile Include="Primitives\IScrollable.cs" /> <Compile Include="Primitives\IScrollable.cs" />
<Compile Include="Primitives\TabStripItem.cs" /> <Compile Include="Primitives\TabStripItem.cs" />
<Compile Include="Primitives\TemplateAppliedEventArgs.cs" /> <Compile Include="Primitives\TemplateAppliedEventArgs.cs" />
<Compile Include="SelectionChangedEventArgs.cs" />
<Compile Include="SelectionMode.cs" /> <Compile Include="SelectionMode.cs" />
<Compile Include="Separator.cs" /> <Compile Include="Separator.cs" />
<Compile Include="SystemDialog.cs" /> <Compile Include="SystemDialog.cs" />

Loading…
Cancel
Save