You have to change the LegendItemTemplate in order to change the way the symbols are displayed the legend. A first naive version, setting a fixed size for the symbol, would be :
<esri:Legend.LegendItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding ImageSource}" HorizontalAlignment="Center" VerticalAlignment="Center" Height="30" Width="50" />
<TextBlock Text="{Binding Label}" Margin="5,0,0,0" VerticalAlignment="Center" />
</StackPanel>
</DataTemplate>
</esri:Legend.LegendItemTemplate>
The issue with this version is that the symbol size in the legend is no more related to the symbol size in the map (always 30*50). If you want to keep a relative size, you can use a multiplication converter to increase or decrease the symbol size with a fixed ratio:
<esri:Legend.LegendItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<StackPanel.Resources>
<esri:MultiplicationConverter x:Key="multiplicationConverter" />
</StackPanel.Resources>
<Image x:Name="img" Source="{Binding ImageSource}" Stretch="Uniform" MinWidth="25"
Height="{Binding Source.PixelHeight, ElementName=img, FallbackValue=25, Converter={StaticResource multiplicationConverter}, ConverterParameter=1.4}"
Width="{Binding Source.PixelWidth, ElementName=img, FallbackValue=25, Converter={StaticResource multiplicationConverter}, ConverterParameter=1.4}"
Margin="0,0,5,0">
</Image>
<TextBlock Text="{Binding Label}" Margin="5,0,0,0" VerticalAlignment="Center" />
</StackPanel>
</DataTemplate>
</esri:Legend.LegendItemTemplate>
Note : adapt the ConverterParameter value to your need.