我的目标是基本的:在WPF表单上有一个标签/ texblock,你可以将其设置为看起来像一个链接。单击时,控件应在用户的默认电子邮件应用程序中打开一个新的电子邮件撰写窗口。实际打开新电子邮件窗口的代码似乎微不足道:
Process.Start("mailto:example@stackoverflow.com?subject=SubjectExample&body=BodyExample ");
但是我遇到两件事有问题:
答案 0 :(得分:29)
如果您希望样式像超链接,为什么不直接使用?
<TextBlock>
<Hyperlink NavigateUri="mailto:example@stackoverflow.com?subject=SubjectExample&body=BodyExample" RequestNavigate="OnNavigate">
Click here
</Hyperlink>
</TextBlock>
然后添加:
private void OnNavigate(object sender, RequestNavigateEventArgs e)
{
Process.Start(e.Uri.AbsoluteUri);
e.Handled = true;
}
答案 1 :(得分:3)
您可以在XAML中完全执行此操作 使用表达式交互来调用上面提到的链接
的xmlns:I =&#34; HTTP://schemas.microsoft.com/expression/2010/interactivity"的xmlns:EI =&#34; HTTP://schemas.microsoft.com/expression/2010/interactions"
<Label Content="Send Email">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonUp">
<ei:LaunchUriOrFileAction Path="mailto:example@stackoverflow.com" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Label>
&#13;