Customizing the Viewer With Styles

The Viewer 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 Viewer

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


    <Style TargetType="local:Viewer">
        <Setter Property="Background" Value="#ffffff" />
        <Setter Property="BorderBrush" Value="#a4a4a4" />
        <Setter Property="BorderThickness" Value="1" />
        <Setter Property="SliderBackground">
            <Setter.Value>
                <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                    <GradientStop Color="#cc888888" Offset="0.0" />
                    <GradientStop Color="#ccaaaaaa" Offset="1.0" />
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>
        <Setter Property="SliderBorderBrush" Value="#cc888888" />
        <Setter Property="SliderBorderThickness" Value="1" />
        <Setter Property="SliderCornerRadius" Value="10" />
        <Setter Property="Minimum" Value="0.05" />
        <Setter Property="Maximum" Value="5" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:Viewer">
                    <Canvas x:Name="RootElement">
                        <Canvas.Resources>
                            <Storyboard x:Name="ElementFadeOut" BeginTime="0">
                                <DoubleAnimation Storyboard.TargetName="ElementSliderGrid" Storyboard.TargetProperty="Opacity" From="1.0" To="0.3" Duration="0:0:0.3"/>
                            </Storyboard>
                            <Storyboard x:Name="ElementFadeIn" BeginTime="0">
                                <DoubleAnimation Storyboard.TargetName="ElementSliderGrid" Storyboard.TargetProperty="Opacity" From="0.3" To="1.0" Duration="0:0:0.3"/>
                            </Storyboard>
                        </Canvas.Resources>
                        <ScrollViewer x:Name="ElementContainer" Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
                            <Canvas x:Name="ElementChildren">
                                <Canvas.RenderTransform>
                                    <ScaleTransform x:Name="ElementScale" />
                                </Canvas.RenderTransform>
                                <ContentPresenter x:Name="ElementContent" />
                            </Canvas>
                        </ScrollViewer>
                        <Grid x:Name="ElementSliderGrid" Opacity="0.3">
                            <Rectangle Width="Auto" Height="Auto" RadiusX="{TemplateBinding SliderCornerRadius}" RadiusY="{TemplateBinding SliderCornerRadius}" Fill="{TemplateBinding SliderBackground}" Stroke="{TemplateBinding SliderBorderBrush}" StrokeThickness="{TemplateBinding SliderBorderThickness}" />
                            <Slider x:Name="ElementSliderX" Width="Auto" Height="Auto" SmallChange="10" Margin="2" Maximum="{TemplateBinding Maximum}" Minimum="{TemplateBinding Minimum}" Orientation="Horizontal" />
                        </Grid>
                    </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,363

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

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

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: 985

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,312

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,035

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,726

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: 992

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