2013-08-02 2 views
0

전자 메일 클라이언트 (Outlook 또는 Gmail, 사용자 기본 설정에 따라 다름)를 열 때이 코드를 사용하려고합니다.전자 메일 주소에 대한 하이퍼 링크

XAML :

<TextBlock Margin="0,5,0,0" > 
     <Hyperlink RequestNavigate="HandleRequestNavigate" Foreground="{StaticResource EnableColorSolid}" NavigateUri="http://[email protected]"> 
        [email protected] 
     </Hyperlink> 
    </TextBlock> 

코드 :

private void HandleRequestNavigate(object sender, RequestNavigateEventArgs e) 
    { 
     string navigateUri = (sender as Hyperlink).NavigateUri.ToString(); 
     // if the URI somehow came from an untrusted source, make sure to 
     // validate it before calling Process.Start(), e.g. check to see 
     // the scheme is HTTP, etc. 
     Process.Start(new ProcessStartInfo(navigateUri)); 
     e.Handled = true; 
    } 

그러나이 작동하지 않습니다. 왜 그런가? 나는 링크에 문제가 있다고 생각하지만 그것이 무엇인지는 모른다. 대신 :

<TextBlock Margin="0,5,0,0" > 
     <Hyperlink RequestNavigate="HandleRequestNavigate" 
      Foreground="{StaticResource EnableColorSolid}" 
      NavigateUri="mailto:[email protected]"> 
        [email protected] 
     </Hyperlink> 
</TextBlock> 
+0

사용 "흔한" – Vishal

답변

0

mailto 링크를 사용하여 "HTTP : //"
+0

에만 기본 전자 메일 응용 프로그램과 함께 작동합니다. Gmail이나 다른 웹 이메일 제공 업체를 사용하려면 SMTP를 통해 이메일을 보내기 위해'System.Net.Mail' 네임 스페이스를 사용해야합니다. 하이퍼 링크를 클릭하고 내비게이션을 처리 한 다음 이메일 기능을 호출 할 수 있습니다 ... – Nick

관련 문제