私は作成したxmlファイルをメールに直接添付してMessaging PlugInを使用して送信する必要があるポータブルクラスライブラリにこのボタンがあります。問題は、PCLでは.WithAttachment()がサポートされていないため、DependencyServiceを使用してこの問題を回避できるかどうかを尋ねたがっています。Xamarin PCLのメッセージングプラグイン(Carel Lotz)?
UWPクラスから.WithAttachment()を返すことはできますか(UWPはターゲットプラットフォームなので)? UWPの.WithAttachment()のオーバーロードが.WithAttachment(IStorageFileファイル)であることを読んだので、競合は起こりません。
private void Senden_Clicked(object sender, EventArgs e)
{
var emailMessenger = CrossMessaging.Current.EmailMessenger;
if (emailMessenger.CanSendEmail)
{
var email = new EmailMessageBuilder()
.To("[email protected]")
.Subject("Test")
.Body("Hello there!")
//.WithAttachment(String FilePath, string ContentType) overload showing in PCL
//.WithAttachment(IStorageFile file) overload for the UWP according to the documentation
.Build();
emailMessenger.SendEmail(email);
}
}
編集:私は、ボタンクリックを経由して添付ファイル付きの電子メールを送信できるようにするにはニック・周の答えを少し変更することができました
。私はこのコードの平和を変更:
var picker = new Windows.Storage.Pickers.FileOpenPicker
{
ViewMode = Windows.Storage.Pickers.PickerViewMode.List,
SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary
};
picker.FileTypeFilter.Add("*");
これに:もちろん
StorageFolder sf = ApplicationData.Current.LocalFolder;
var file = await sf.GetFileAsync("daten.xml");
あなたがして、アプリのローカルフォルダ内のファイルの代わりに、ドキュメントライブラリを作成する必要があります。
ありがとうございました。サー!ファイルを自動的に取得する方法や、デフォルトの場所をDocumentsLibraryに設定する方法があるかどうかは分かりますか? 'SuggestedStartLocation'はDocumentsLibraryにそれを設定しないので(ドキュメンテーションによると、ユーザが選んだ最後のフォルダまたはそのようなものを覚えています)。 – RoloffM
@Nickオクラホマ今すぐ購入しました!そして、あなたは本当のMVPです!ありがとうございます – RoloffM