Image Slideshow WPF in VB.NET

In this article, I will create a simple image slideshow using WPF and VB.NET.
  • 4804

In this article, I will create a simple slideshow using WPF and VB.NET.

The pages are designed using Expression Blend. Expression blend is really very good in designing the pages for WPF and Silverlight applications. What I really liked is the way in which we can easily create the pages and design the controls with it.

Now back to original topic.

The design of the page will look like this:

slidwslow1.gif

<GridSplitter> is a new control I used in this application. <GridSplitter> is very useful in designing the page when you want to split the pages into different sections. One of the most common example is "windows explorer". In the coming week, I will try to build an application like "windows explorer" in WPF using <GridSplitter>

Here in this application I have created a simple Button control. One thing I will like to try is to create fancy buttons in WPF.

<Path Fill="#FF325E69" Stretch="Fill" Margin="0,125.008,3.37,0" VerticalAlignment="Top" Height="24" Grid.Row="1" Data="M640,160 L559.5,239.5 719.5,239.5 z" Width="32.5" HorizontalAlignment="Right" RenderTransformOrigin="0.5,0.5">
      <Path.RenderTransform>
            <
TransformGroup>
                  <
ScaleTransform ScaleX="1" ScaleY="1"/>
                  <SkewTransform AngleX="0" AngleY="0"/>
                  <RotateTransform Angle="89.218"/>
                  <TranslateTransform X="0" Y="0"/>
            </TransformGroup>
      </
Path.RenderTransform>
</Path>

Array to hold the images name

Dim imgs As String() = New String() {"prv1.gif", "DSC00650.JPG", "DSC00643.JPG", "DSC00631.JPG", "DSC00613.JPG", "DSC00605.JPG"}

Array for the caption of the image:

Dim caption As String() = New String() {"My Closeup", "Waterfall, isn't it beautiful", "Near the waterfall", "Again Waterfall from different angle", "Relaxing in my home", "Enjoying at one of the tourist spot"}

Code to show the image:

    Private Sub showImage(ByVal img As String, ByVal i As Integer)
        Dim b1 As New BitmapImage()
        b1.BeginInit()
        b1.UriSource = New Uri(img, UriKind.Relative)
        b1.EndInit()
        image1.Stretch = Stretch.Fill
        image1.Source = b1
        label1.Text = caption(i)
        'label1.Content = caption[i];
    End Sub

Button click events:

    'Next Button Click
    Private Sub Button_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
        If selected = 0 Then
            selected = imgs.Length - 1
            showImage(imgs(selected), selected)
        Else
            selected = selected - 1
            showImage(imgs(selected), selected)
        End If
    End Sub
    'Previous Button Click
    Private Sub Button_Click_2(ByVal sender As Object, ByVal e As RoutedEventArgs)
        If selected = imgs.Length - 1 Then
            selected = 0
            showImage(imgs(selected), selected)
        Else
            selected = selected + 1
            showImage(imgs(selected), selected)
        End If
    End Sub

The output will be as follows:

slidwslow2.gif

In future, I will try to beautify this page using more controls and new features of WPF. 

Categories

More Articles

© 2020 DotNetHeaven. All rights reserved.