2012-09-19 130 views
1

從Windows窗體背景來看,我習慣於能夠處理在Program.cs文件中傳遞給我的應用程序的參數,當用戶嘗試打開文本文件時從Windows資源管理器中,以便我的應用程序可以將其內容顯示給用戶。從我的Metro應用程序的Windows資源管理器中打開文件

但是,在Metro風格應用程序中,我們沒有Program.cs文件了。我們有App.xaml或App.xaml.cs文件。

看來好像我找不到相關的文檔,我可以嘗試在App.xaml.cs文件中以「常用」方式進行操作,但我甚至不確定這是否是正確的方法它。我已經爲我的Metro風格應用程序添加了相應的功能和文件類型關聯,但除此之外,我不知道從哪裏開始。

我們如何從Documents文件夾打開支持的文件到我們自己的Metro風格應用程序中?

+0

我只是想指出,我知道這是可能的,甚至與當前的Metro風格應用程序的限制。我知道這一點,因爲當我在Metro Explorer應用程序支持的Windows資源管理器中雙擊文件時,Windows會彈出一個對話框,詢問我是否想在Metro風格的應用程序中打開該文件。唯一的問題是:如何在我的代碼中處理它,以便我可以真正獲取文件信息? –

+0

我想,我只是想通了。我很快發佈了一個答案。 –

回答

0

您可以通過兩個具體步驟處理這個問題:

  1. 聲明在清單中的文件擴展名。您可以通過在VS中的解決方案資源管理器中打開package.appxmanifest來執行此操作,轉到聲明選項卡,並添加「文件類型關聯」聲明&相關信息。
  2. 在你的激活處理程序中,你會看到even有一個「Kind」參數。這將成爲文件啓動的「文件」(來自資源管理器或其他地方)。您將在同一個對象的「文件」屬性中獲取文件。

詳細信息是here。一旦獲得了這些文件,就可以使用標準的Windows.Storage API來訪問這些文件。

0
  1. 在Solution Explorer中打開package.appxmanifest。
  2. 選擇聲明標籤。
  3. 從下拉列表中選擇文件類型關聯,然後單擊添加。
  4. 輸入txt作爲名稱。
  5. 輸入.txt作爲文件類型。
  6. 輸入「images \ Icon.png」作爲徽標。

在應用程序包

,並在C#中添加適當的圖標,你需要處理OnFileActivated事件

protected override void OnFileActivated(FileActivatedEventArgs args) 
{ 
// TODO: Handle file activation 

// The number of files received is args.Files.Size 
// The first file is args.Files[0].Name 
} 
相關問題