private async void Image_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
if (e.ClickCount > 1)
{
var cover = await this.ViewModel.InfoView.CoverViewModel.GetCoverAsync();
if (cover == null) return;
var buffer = cover.BinaryData;
if (buffer.Length > 0)
{
string path;
do
{
path = Path.ChangeExtension(Path.GetTempFileName(), "jpg");
} while (File.Exists(path));
using (var file = File.Create(path))
{
file.Write(buffer);
}
await Task.Run(() =>
{
using (var p = Process.Start(path))
{
p?.WaitForExit();
}
try
{
File.Delete(path);
}
catch
{
// ignored
}
});
}
}
}