Не удается открыть панель поиска Windows в WPF: элемент не найден. (Исключение из HRESULT: 0x80070490)

У меня есть проект WPF только с этими изменениями из пустого проекта:

  • Эта строка добавлена ​​в.csproj: <TargetPlatformVersion>8.0</TargetPlatformVersion>
  • Ссылка добавлена ​​в Windows
  • Кнопка с обработчиком Click, выполняющая это: SearchPane.GetForCurrentView().Show("test");

Когда я нажимаю кнопку, у меня возникает исключение при звонке .GetForCurrentView():

Element not found. (Exception from HRESULT: 0x80070490)

Что я могу сделать, чтобы диагностировать это и заставить это работать?


Подробности:

Обратите внимание, что у меня нет точек останова, я работаю на Windows 8.1, и я уже пробовал:

  • Добавление await BackgroundExecutionManager.RequestAccessAsync(); до;
  • Добавление задержки 1000 мс;
  • привязка System.Runtime, System.Runtime.WindowsRuntime а также System.Runtime.InteropServices.WindowsRuntime

Я знаю, что могу использовать SendKeys для отправки Win + S + (query), но это именно то, что я пытаюсь заменить, так как в данный момент я пытаюсь открыть брелок поиска, Ctrl клавиша будет нажата (запускается с помощью ярлыка).

1 ответ

Решение

Даже если некоторые функции WinRT API можно использовать в настольном приложении, SearchPane не могу.

Страницы MSDN показывают, можно ли использовать каждую отдельную функцию API в настольных приложениях: http://msdn.microsoft.com/en-us/library/windows.applicationmodel.search.searchpane.aspx

Другие вопросы по тегам