Customizing the Text Roller Blind With Styles

The Text Roller Blind control can be skinned using the standard Silverlight 2 method of setting Styles in the App.xaml file of your Silverlight project.

Example of how to Apply a Skin to the Text Roller Blind

These styles are placed in your XAML and referred to using the Style property:


    <Style TargetType="local:TextRollerBlind">
        <Setter Property="Background" Value="#ffffff" />
        <Setter Property="BorderBrush" Value="#a4a4a4" />
        <Setter Property="BorderThickness" Value="1" />
        <Setter Property="FontFamily" Value="Arial" />
        <Setter Property="FontSize" Value="14" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:TextRollerBlind">
                    <Canvas x:Name="RootElement" Background="{TemplateBinding Background}">
                        <Canvas.Resources>
                            <Storyboard x:Name="ElementOpen" BeginTime="0">
                                <DoubleAnimation Storyboard.TargetName="ElementTop" Storyboard.TargetProperty="(Canvas.Top)" />
                                <DoubleAnimation Storyboard.TargetName="ElementBottom" Storyboard.TargetProperty="(Canvas.Top)" />
                            </Storyboard>
                            <Storyboard x:Name="ElementClose" BeginTime="0">
                                <DoubleAnimation Storyboard.TargetName="ElementTop" Storyboard.TargetProperty="(Canvas.Top)" />
                                <DoubleAnimation Storyboard.TargetName="ElementBottom" Storyboard.TargetProperty="(Canvas.Top)" />
                            </Storyboard>
                        </Canvas.Resources>
                        <Canvas.Clip>
                            <RectangleGeometry x:Name="ElementClipping" />
                        </Canvas.Clip>
                        <ContentPresenter x:Name="ElementContent" />
                        <ContentPresenter x:Name="ElementTop">
                            <Grid>
                                <Grid.Background>
                                    <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                                        <GradientStop Color="#ffffffff" Offset="0.0" />
                                        <GradientStop Color="#fff0f0f0" Offset="1.0" />
                                    </LinearGradientBrush>
                                </Grid.Background>
                                <TextBlock x:Name="ElementTopText" HorizontalAlignment="Center" VerticalAlignment="Bottom" TextAlignment="Center" Text="" />
                            </Grid>
                        </ContentPresenter>
                        <ContentPresenter x:Name="ElementBottom">
                            <Grid>
                                <Grid.Background>
                                    <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                                        <GradientStop Color="#fff0f0f0" Offset="0.0" />
                                        <GradientStop Color="#ffefefef" Offset="1.0" />
                                    </LinearGradientBrush>
                                </Grid.Background>
                                <TextBlock x:Name="ElementBottomText" HorizontalAlignment="Center" VerticalAlignment="Top" TextAlignment="Center" Text="" />
                                <TextBlock x:Name="ElementBottomSelectedText" HorizontalAlignment="Center" VerticalAlignment="Bottom" TextAlignment="Center" FontWeight="Bold" Margin="0 0 0 4" Text="" />
                            </Grid>
                        </ContentPresenter>
                        <Border x:Name="ElementBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2" />
                    </Canvas>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


As you can see, styling is a powerful method of customizing the controls to suite the look and feel of your Silverlight application.

 
Latest Games
Zombie Escape
Apr 19, 2016
Plays: 1,364

Zombie Escape ScreenshotDrive fast before the crazy mutant zombies get you!

6 Ratings/4.1 Average
Car Parking
Jan 16, 2016
Plays: 1,336

Car Parking ScreenshotGuide the car to its parking space in this fun Car Parking game.

1 Rating/5 Average
Trash It
Jan 11, 2016
Plays: 1,227

Trash It ScreenshotAim for the Trash Can and get the various items of Trash in the bin.

4 Ratings/5 Average
Sky Fly
Jan 11, 2016
Plays: 1,345

Sky Fly ScreenshotFly your plane in this colorful vertical scrolling shoot-em-up. Blast the bad guys and collect any bonus's they leave behind.

1 Rating/5 Average
Professor Snappy
Jan 11, 2016
Plays: 986

Professor Snappy ScreenshotPop as many bubbles as possible in this fun and colorful bubble popping game. The levels start off easy enough but gradually get harder!

1 Rating/5 Average
Monster Match Saga
Jan 10, 2016
Plays: 1,313

Monster Match Saga ScreenshotHere we have a bunch of monsters that need to be matched up. Look out for the bomb and spinning monsters that will cause special damage!

3 Ratings/4.6 Average
Fly Bird Fly
Jan 10, 2016
Plays: 1,037

Fly Bird Fly ScreenshotGuide your friendly Bird through the maze of pipes and other obstacles collecting the Stars in this cool arcade game inspired by the legendary Flappy Bird.

1 Rating/5 Average
Life In One
Jan 10, 2016
Plays: 1,242

Life In One ScreenshotYou are stranded on an Alien planet. Your goal is to build a space rocket and escape. Start by building units to create power and mine the metal patches. Build defenses to defend your base from the advancing Aliens and Zombies!

2 Ratings/3 Average
X Pool
Jan 02, 2016
Plays: 1,727

X Pool ScreenshotPlay Pool against the computer or battle against your friends in the online mode!

3 Ratings/3 Average
Fruit Slicer
Jan 02, 2016
Plays: 994

Fruit Slicer ScreenshotSlice the fruit that is thrown up onto the screen. Slice the fruit into multiple pieces for maximum points!

1 Rating/5 Average