Я думаю, что проблема в том, что вы установили MaxWidth 200 для второго столбца (где содержится изображение). Поэтому столбец не будет шире, чем 200 пикселей, и эти два столбца не будут использовать все доступное пространство. Если вы вставите другой столбец между двумя столбцами и сделаете его одним звездным, изображение будет выровнено по правому краю:
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="200"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto" MaxWidth="200"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column ="0" Orientation="Horizontal" >
<TextBlock FontFamily="Verdana" FontSize="16" FontWeight="Bold" Text="{Binding LastName}" />
<TextBlock FontFamily="Verdana" FontSize="16" Text=", " />
<TextBlock FontFamily="Verdana" FontSize="16" Text="{Binding FirstName}" />
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Vertical" HorizontalAlignment="Right">
<Border BorderBrush="Black" BorderThickness="1">
<Image Source="{Binding Picture}" Width="180" Height="150" />
</Border>
</StackPanel>
</Grid>
Таким образом, это работает для меня. Тем не менее, вы должны быть осторожны при использовании StackPanels. Они всегда занимают столько места, сколько им нужно. И если им не будет предоставлено столько места, часть контента будет просто скрыта.
gehho.