I have Button
on my WPF app and I want an Image
to fill the Button
completely. Currently I have The following code and it does not fill the Button
.
<Image x:Key="MyResource" Source="Images/up-arrow-icon.jpg" Margin="0" />
<telerik:RadButton Height="25" Width="40" HorizontalAlignment="Left" Margin="417,10,0,0"
Name="radButton1" VerticalAlignment="Top" Click="UpButtonClick">
<telerik:RadButton.Content>
<StaticResource ResourceKey="MyResource"/>
</telerik:RadButton.Content>
</telerik:RadButton>
Do I need resize the Image
outside WPF then use it?
You can try changing your Image
to an ImageBrush
and then assign that to your BackGround
your image will then stretch over the inner surface of your button.
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<ImageBrush x:Key="MyResource" ImageSource="C:\temp\test.jpg" />
</Window.Resources>
<Grid>
<Button Height="25" Background="{StaticResource MyResource}" Width="40" HorizontalAlignment="Left" Margin="417,10,0,0" VerticalAlignment="Top"/>
</Grid>
</Window>
or add a TextBlock to your Button Content and assign your Image as a BackGround to it.
<Window.Resources>
<ImageBrush x:Key="MyResource" ImageSource="C:\temp\test.jpg" />
</Window.Resources>
<Grid>
<Button Height="25" Width="40" HorizontalAlignment="Left" Margin="417,10,0,0" VerticalAlignment="Top">
<Button.Content>
<TextBlock HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="34" Height="19" Margin="0">
<TextBlock.Background>
<StaticResource ResourceKey="MyResource"/>
</TextBlock.Background>
</TextBlock>
</Button.Content>
</Button>
</Grid>