1

私は wpf アプリに取り組んでおり、顧客情報を記録できる顧客情報セクションがあります。このセクションでは、顧客の電子メール アドレスを記録するテキスト ボックスを使用します。しかし今、私は電子メール アドレスのハイパーリンクを作成し、電子メール アドレスを Outlook 電子メール経由でリンクしたいと考えています。たとえば、電子メール アドレスをクリックすると、Outlook 電子メールが自動的に開き、Outlook 経由で電子メールを送信できます。ありがとう。

私が欲しいのは、左側のテキストが電子メールであるラベルまたはテキストブロック(テキストボックス内のテキストにバインドする必要はありません)、右側の電子メールアドレスを入力できるテキストボックスです。テキスト ボックスに有効な電子メール アドレスを入力した後、電子メール アドレスをクリックすると、Outlook が自動的に開きます。OutlookのTo欄に入力したのがメールアドレスです

<TextBlock Text="Email" Grid.Row="11" x:Name="lblEmail" VerticalAlignment="Top"/> 
    <TextBox Grid.Column="1" Grid.Row="11" x:Name="txtEmail" VerticalAlignment="Top" 
        TextDecorations="UnderLine" Foreground="Blue" Text="{Binding 
        Email, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, 
        ValidatesOnExceptions=True, NotifyOnValidationError=True}">
</TextBox> 
4

2 に答える 2

0

コード XAML を試すことができます

<TextBlock Name="tbReferAFriend"  MouseDown="tbReferAFriend_MouseDown">Refer a friend</TextBlock>

コードビハインド

 private void tbReferAFriend_MouseDown(object sender, MouseButtonEventArgs e)
            {
                try
                {

                   LaunchEmailClientByShellExecute();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace);
                }
            }

    [DllImport("shell32.dll")]
            public static extern IntPtr ShellExecute(IntPtr hwnd, string lpOperation,
                string lpFile, string lpParameters, string lpDirectory, int nShowCmd);

            private void launchEmailClientByShellExecute()
            {
                ShellExecute(IntPtr.Zero, "open", "mailto:username?subject=Read%20This&body=message%20contents", "", "", 4/* sw_shownoactivate */);
            }

から: https://social.msdn.microsoft.com/Forums/vstudio/en-US/dcbaaced-97b3-4276-bf95-960e77cb6c03/how-to-launch-default-mail-client-in-wpf-applications?フォーラム=wpf

于 2015-03-05T16:41:45.450 に答える