Можем ли мы обновить текст UWP TextBlock из AppService?
Здесь у меня есть служба приложения в другом проекте компонента среды выполнения UWP, которая добавлена в качестве ссылки на проект пользовательского интерфейса.
Так что у меня нет прямой связи с UI. Но мне нужно обновить пользовательский интерфейс, если приложение работает как активное.
Примечание. Вместо этого мы можем показывать тосты и живую плитку. Но хочу знать возможность напрямую обновлять пользовательский интерфейс.
Отредактировано: [18.03.18]
Я пытаюсь объединить существующее приложение WPF в UWP с помощью DesktopBridge. Здесь мне нужно иметь двустороннюю связь между обоими приложениями.
Таким образом, были созданы два AppServices отдельно в WPF и UWP для отправки и получения данных в форме ValueSet и на основе запрошенных данных необходимо обновить пользовательский интерфейс.
Для приложения WPF с пользовательским интерфейсом и AppService в одном проекте. Для приложения UWP отделил AppServices как проект компонента среды выполнения (Out-Of-Proc). В этом случае оба AppServices работают нормально во время выполнения, но не могут обновить пользовательский интерфейс UWP (но могут обновить пользовательский интерфейс WPF).
Также я пытался использовать внутрипроцессные службы, в этом случае оба AppServices работают нормально, но я не могу установить соединение от UWP к WPF. Поэтому я не могу отправить запрос из UWP (WPF to UWP работает).
Так что это моя настоящая проблема. Хотите знать, правильно ли я поступаю? И есть ли способ исправить или другой лучший способ сделать это.
Далее следует код .appmanifest.
Как услуга In-Proc
<Extensions>
<uap:Extension Category="windows.appService">
<uap:AppService Name="com.mycompany.scanner.uwpappservice" />
</uap:Extension>
<uap:Extension Category="windows.appService">
<uap:AppService Name="com.mycompany.scanner.wpfappservice" />
</uap:Extension>
<desktop:Extension Category="windows.fullTrustProcess" Executable="Scanner.WPF.exe" />
</Extensions>
Как услуга вне производства
<Extensions>
<uap:Extension Category="windows.appService" EntryPoint="UWPApp.AppServiceLibrary.UWPAppService">
<uap:AppService Name="com.mycompany.scanner.uwpappservice" />
</uap:Extension>
<uap:Extension Category="windows.appService">
<uap:AppService Name="com.mycompany.scanner.wpfappservice" />
</uap:Extension>
<desktop:Extension Category="windows.fullTrustProcess" Executable="Scanner.WPF.exe" />
</Extensions>