Не могу ответить, правильно ли вы поступили, поскольку вы не указали код.
Вот как я это сделаю. На мой взгляд модели:
public class AttachmentInfo : ViewModel
{
public string Path { get/set omitted }
}
public class EmailInfo : ViewModel
{
public ICollection<AttachmentInfo> Attachments { get omitted }
public ICommand AddAttachmentCommand { get omitted }
// logic for adding attachment simply adds another item to Attachments collection
}
На мой взгляд, что-то вроде этого:
<ScrollViewer>
<ItemsControl ItemsSource="{Binding Attachments}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding Path}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
<Button Command="{Binding AddAttachmentCommand}">Add</Button>