ARTICLE

WPF Slider Control in VB.NET

Posted by Dinesh Beniwal Articles | WPF using VB.NET April 22, 2010
This article shows you how to use the Slider control available in WPF.
 
Reader Level:

Slider Control

The Slider element in XAML represents a WPF Slider control.

<Slider></Slider>

Slider Control Properties

The Width and Height property represent the width and the height of the control.  The Name property represents name of the control, which is a unique identifier of the control.  The Background property is used to set the background color of the control. The Minimum and Maximum properties represent the minimum and maximum values of the slider range.

The code snippet in Listing 1 creates a Slider control and sets its name, height, width, background, maximum, and minimum properties. .

<Slider Name="mcSlider" Width="300" Height="20"
        Background="Gray" Maximum="100" Minimum="0">           
</Slider>

Listing 1

The code snippet in Listing 1 generates output looks like Figure 1.

SliderImg1.jpg
Figure 1

The IsFocused property indicates whether the slider control has focus and IsDirectionReversed property represents the direction of increasing value. By default, the slider control sits on UI in horizontal direction. By using the Orientation property, a slider control can be placed vertically.

The code snippet in Listing 2 sets the orientation of a slider control vertical.

 <Slider Name="mcSlider" Width="300" Height="20"
        Background="Gray" Maximum="100" Minimum="0">           
</Slider>

Listing 1

The code snippet in Listing 2 generates output looks like Figure 2.

SliderImg2.jpg
Figure 2

The Application

Now we are going to create a real world application that will use Slider controls values to create a color from three values Red, Green, and Blue respectively. From these three values, we will create a color and fill an ellipse with that color.

First we create a UI page with one circle and three slider controls that looks like Figure 3.

SliderImg3.jpg

Figure 3

The code that generates Figure 3 is listed in Listing 2.

<Canvas Name="LayoutRoot" Background="LightGray" >
    <!-- Create an Ellipse -->
    <Ellipse Name="mcCircle" Width="200" Height="200"               
            Canvas.Left="60" Canvas.Top="20"
             Fill="Gray" Stroke="Black" StrokeThickness="2">           
    </Ellipse>

    <!-- Create Slider controls -->
    <Slider Name="RedSlider" Width="300" Height="20"
            Background="Red" Maximum="255" Minimum="0"              
            Canvas.Left="30" Canvas.Top="240"
            ValueChanged="RedSlider_ValueChanged"/>
    <Slider Name="GreenSlider" Width="300" Height="20"
            Background="Green" Maximum="255" Minimum="0"                
            Canvas.Left="30" Canvas.Top="270"
            ValueChanged="GreenSlider_ValueChanged"/>
    <Slider Name="BlueSlider" Width="300" Height="20"
            Background="Blue" Maximum="255" Minimum="0"               
            Canvas.Left="30" Canvas.Top="300"
            ValueChanged="BlueSlider_ValueChanged"/>
</Canvas>

Listing 2

Now, on the ValueChanged event of slider controls, we write the code listed in Listing 3. In this code, we simply create a Color from the values of the slider controls and create a brush with this color and fill the circle.

    Private Sub RedSlider_ValueChanged(ByVal sender As Object, ByVal e As RoutedPropertyChangedEventArgs(Of Double))
        UpdateCircleWithColors()
    End Sub

    Private Sub GreenSlider_ValueChanged(ByVal sender As Object, ByVal e As RoutedPropertyChangedEventArgs(Of Double))
        UpdateCircleWithColors()
    End Sub

    Private Sub BlueSlider_ValueChanged(ByVal sender As Object, ByVal e As RoutedPropertyChangedEventArgs(Of Double))
        UpdateCircleWithColors()
    End Sub

    Private Sub UpdateCircleWithColors()
        Dim clr As Color = Color.FromArgb(255, Convert.ToByte(RedSlider.Value), Convert.ToByte(GreenSlider.Value), Convert.ToByte(BlueSlider.Value))
        mcCircle.Fill = New SolidColorBrush(clr)
    End Sub

Listing 3

Now if you run the application and change slider values, you will see the fill color of circle changes accordingly. See Figure 4.

SliderImg4.jpg
Figure 4

Summary

In this article, I discussed how to create and use a Slider control available in WPF.  We also saw, how to create a real world application using slider controls.

Login to add your contents and source code to this article
share this article :
post comment
 
Become a Sponsor
PREMIUM SPONSORS
  • Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
    Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites - Click Here!
Become a Sponsor