Image Button by resource
<UserControl x:Class='SilverlightApplication3.MainPage' xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' xmlns:d='http://schemas.microsoft.com/expression/blend/2008' xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006' mc:Ignorable='d' d:DesignWidth='640' d:DesignHeight='480'> <Canvas Background="LightBlue"> <Canvas.Resources> <Style TargetType="TextBlock" x:Key="TextBlockStyle"> <Setter Property="FontFamily" Value="Comic Sans Ms"></Setter> <Setter Property="Text" Value="Click!"></Setter> <Setter Property="Foreground" Value="MediumBlue"></Setter> <Setter Property="FontSize" Value="20"></Setter> </Style> <Style x:Key="ImageButton" TargetType="Button"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <StackPanel Orientation="Vertical"> <Image Source="c:/image.jpg" Height="48" Width="48"></Image> <TextBlock Style="{StaticResource TextBlockStyle}" Foreground="Black"></TextBlock> </StackPanel> </ControlTemplate> </Setter.Value> </Setter> </Style> </Canvas.Resources> <Button x:Name="btn1" Style="{StaticResource ImageButton}" Canvas.Top="20" Canvas.Left="20"></Button> </Canvas> </UserControl> //File: Page.xaml.cs using System; using System.Collections.Generic; using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace SilverlightApplication3 { public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); //btn1.Click+= } void btn1_Click(object sender, RoutedEventArgs e) { string strTest = "Hello"; } } }