locked
Reproducable bug found in DataTransferManager.ShowShareUI()

    Question

  • DataTransferManager.ShowShareUI() will not bring up the Sharing UI as it should in one very specific scenario.  My sharing scenario first creates a zip file and then tries to share that file.  To share, the user clicks a "share" button and then uses the FileSavePicker.PickSaveFileAsync() and provides either a new file name for the zip file or selects an existing zip file from the picker and answers "Yes" when asked "Replace existing file?".  It's the replace scenario that does not work which seems like a bug to me.  If the user provides a new file name (i.e. not the replace scenario) then DataTransferManager.ShowShareUI() works as expected and the Share UI is displayed.  This "bug" is easily reproducible using the SourceSharing SDK sample application and these simple steps:

    Open the SourceSharing SDK sample application and in ShareFiles.xaml.cs simply replace the SelectFilesButton_Click() method with the following:

    private async void SelectFilesButton_Click(object sender, RoutedEventArgs e)
    {
        FileSavePicker picker = new FileSavePicker();
        picker.FileTypeChoices.Add("Zip Files (*.zip)", new List<string> { ".zip" });
        StorageFile zipFile = await picker.PickSaveFileAsync();
               
        List<StorageFile> archiveList = new List<StorageFile>();
        archiveList.Add(zipFile);

        storageItems = archiveList;

        DataTransferManager.ShowShareUI();
    }

    Then run the application and go to Scenario 5 (Share Files) and click the Select Files button.  When the picker comes up, choose an existing zip file and click Save (it won't do anything to the zip, it will just use it for sharing) and you will see that the Share UI does not appear.  Now repeat the process and this time provide a new file name and click Save and you will see that the Sharing UI now appears as it should.


    -Russ

    Friday, June 20, 2014 2:10 AM

Answers

  • Please report this bug using internal resources. Contact me directly if you have questions.

    Matt Small - Microsoft Escalation Engineer - Forum Moderator
    If my reply answers your question, please mark this post as answered.

    NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined objects and unknown namespaces.

    Friday, June 20, 2014 12:19 PM
    Moderator