2013-04-13 2 views
4

Я хочу открыть pdf-файл в приложении winRT (приложение стиля метро), нажав на кнопку, которую должен открыть файл в окне чтения по умолчанию для Windows8. Я попробовал этот код, в котором нажатие кнопки имя метода является DefaultLaunch_click():Открыть файл PDF при нажатии кнопки

async void DefaultLaunch_click() 
{ 
    // Path to the file in the app package to launch 
    string imageFile = @"images\ret.png"; 

// Get the image file from the package's image directory 
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile); 



if (file != null) 
{ 
// Set the recommended app 
    var options = new Windows.System.LauncherOptions(); 
    options.PreferredApplicationPackageFamilyName = “Contoso.FileApp_8wknc82po1e”; 
    options.PreferredApplicationDisplayName = “Contoso File App”; 




    // Launch the retrieved file pass in the recommended app 
    // in case the user has no apps installed to handle the file 
    bool success = await Windows.System.Launcher.LaunchFileAsync(file, options); 
    if (success) 
    { 
    // File launched 
    } 
    else 
    { 
    // File launch failed 
    } 
    } 
    else 
    { 
     // Could not find file 
    } 
    } 

Он работал .png файл, но я хочу для PDF-файла я заменил 1.png с M.pdf (после включения его в папку с изображениями) и установить содержание сборки M.pdf в Embedded Resource, запустите программу, но он показал, что ошибка

**The system cannot find the file specified. (Exception from HRESULT: 0x80070002)** 

ответ

1

Этот код работает для меня после того, как я установил PDF файл действия сборки на содержание и всегда копировать в выходной каталог.

private async void Button_Click(object sender, RoutedEventArgs e) 
    { 
     string imageFile = @"images\somepdffile.pdf"; 

     // Get the image file from the package's image directory 
     var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile); 
     if (file != null) 
     { 
      bool success = await Windows.System.Launcher.LaunchFileAsync(file, options); 
      if (success) 
      { 
       // File launched 
      } 
      else 
      { 
       // File launch failed 
      } 
     } 
     else 
     { 
      // Could not find file 
     } 
    } 
+1

да это сработало :-) Я также пробовал, чтобы он работал нормально :-). Thankyouu ... :) –

+0

Можете ли вы, пожалуйста, взглянуть на него здесь http://stackoverflow.com/questions/22011326/open-pdf-file-in-emulator – user2056563

Смежные вопросы