C# WPF 超链接 Mailto:使用绑定时不会打印正文

C# WPF Hyperlink Mailto: Body will not be printed when using binding

我尝试使用 C# WPF 中的 Tag 构建一个 link 打开标准电子邮件客户端。

这是我的 WPF 代码:

<TextBlock>
<Hyperlink NavigateUri="mailto:example@whosebug.com?subject=SubjectExample&amp;body=BodyExample" RequestNavigate="Hyperlink_RequestNavigate">
Click here
</Hyperlink>
</TextBlock>

到目前为止效果很好。现在我想让它更动态一点,所以我尝试用所有必要的信息绑定一个变量:

<TextBlock>
<Hyperlink NavigateUri="{Binding MyValue}" RequestNavigate="Hyperlink_RequestNavigate">
Click here
</Hyperlink>
</TextBlock>

Public 值 MyValue 如下所示:

public string MyValue{
get { return "mailto:" + myEmail + "?subject=" + mySubject + "&amp;body=TEST"; }

除正文外,一切正常。 "TEST" 应该被打印出来,但它没有。它在我第一次尝试没有装订的情况下打印出来,但在这种情况下没有

我是不是做错了什么?

尝试使用 Uri.EscapeDataString 方法转义值:

public string MyValue
{
    get
    {
        return String.Format("mailto:{0}?subject={1}&body=TEST",
        Uri.EscapeDataString(myEmail),
        Uri.EscapeDataString(mySubject));
    }
}