У меня есть интересная проблема, которую трудно отладить, так как это происходит, когда я запускаю это приложение, используя активацию файла.Если я запускаю приложение напрямую, нет проблем.Если я дважды щелкаю по связанному файлу, он зависает на заставке, даже не проходя мимо этого (установите точку останова отладки на InitializeComponent
, она даже не добирается).
Итак, я сделал следующее:на вкладке «Декларация манифеста» я добавил сопоставление типов файлов к созданному мною типу файлов и проверил «Открыть безопасно».Затем использовали OnNavigatedTo
override, чтобы перехватить имя файла, который использовался для активации.Я получаю заставку, а затем ничего.
Если я просто запускаю приложение и открываю файл изнутри, все работает.Что меня удивляет, так это то, что я использую точный OnNavigatedTo
в другом приложении, и он работает безупречно.
Вот мой OnNavigatedTo:
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
var args = e.Parameter as Windows.ApplicationModel.Activation.IActivatedEventArgs;
if (args != null)
{
if (args.Kind == Windows.ApplicationModel.Activation.ActivationKind.File)
{
var fileArgs = args as Windows.ApplicationModel.Activation.FileActivatedEventArgs;
string strFilePath = fileArgs.Files[0].Path;
var file = (StorageFile)fileArgs.Files[0];
//MainPlayList is a custom object used to manipulate the playlist of stuff I'm building.
MainPlayList = new Playlist();
MainPlayList.InitializePlayList();
await MainPlayList.AddImageToPlaylist(file);
}
}
}
Я проверил манифест пакета длярабочее приложение и это.Помимо названия, они идентичны.Кто-то упомянул около 18 месяцев назад, что это может быть связано с версией Windows, используемой как минимум.Попробовал и это безрезультатно.