WPF Button with Image
Another way to Stretch image to full button. Can try the below code.
<Grid.Resources>
<ImageBrush x:Key="AddButtonImageBrush" ImageSource="/Demoapp;component/Resources/AddButton.png" Stretch="UniformToFill"/>
</Grid.Resources>
<Button Content="Load Inventory 1" Background="{StaticResource AddButtonImageBrush}"/>
Referred from Here
Also it might helps other. I posted the same with MouseOver Option here.
<Button x:Name="myBtn_DetailsTab_Save" FlowDirection="LeftToRight" HorizontalAlignment="Left" Margin="835,544,0,0" VerticalAlignment="Top" Width="143" Height="53" BorderBrush="#FF0F6287" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontFamily="B Titr" FontSize="15" FontWeight="Bold" BorderThickness="2" Click="myBtn_DetailsTab_Save_Click">
<StackPanel HorizontalAlignment="Stretch" Background="#FF1FB3F5" Cursor="Hand" >
<Image HorizontalAlignment="Left" Source="image/bg/Save.png" Height="36" Width="124" />
<TextBlock HorizontalAlignment="Center" Width="84" Height="22" VerticalAlignment="Top" Margin="0,-31,-58,0" Text="ثبت مشتری" />
</StackPanel>
</Button>
Most simple approach would be using the Image tag.
<Button Name="btn" Width="26" Height="26" Click="btnClick">
<Image Source="Resource/btn-icon.png"/>
</Button>
Suppose your image file is added in Resource folder
You want to do something like this instead:
<Button>
<StackPanel>
<Image Source="Pictures/apple.jpg" />
<TextBlock>Disconnect from Server</TextBlock>
</StackPanel>
</Button>