Вы можете сделать что-то вроде:
foreach (var word in text)
{
if (word.Contains("@")
{
var link = new Hyperlink
{
Command = new EmailComposeCommand(),
CommandParameter = word
};
link.Inlines.Add(new Run { Text = word });
paragraph.Inlines.Add(link
}
else
{
paragraph.Inlines.Add(new Run { Text = word });
}
}
public class ClickToCallCommand : ICommand
{
public bool CanExecute(object parameter)
{
return !string.IsNullOrWhiteSpace(parameter.ToString());
}
public void Execute(object parameter)
{
var ect = new EmailComposeTask
{
To = parameter.ToString()
};
ect.Show();
}
public event EventHandler CanExecuteChanged;
}
При необходимости добавьте соответствующую обработку ошибок и т. Д.