Поделиться через


Пример Detecting If Browser-Hosted

Обновлен: Ноябрь 2007

Этот пример демонстрирует, как определить, выполняется ли некоторый фрагмент кода из XBAP (XAML browser application — приложение обозревателя XAML) или из автономного приложения.

В этом примере описывается конкретная функциональная возможность Windows Presentation Foundation, и поэтому рекомендации по разработке приложений не соблюдаются. Более полное рассмотрение Windows Presentation Foundation (WPF) и рекомендации по тактике разработки приложений Microsoft .NET Framework см. в следующих разделах:

Специальные возможности: Рекомендации по специальным возможностям

Локализация: Общие сведения о глобализации и локализации WPF

Производительность: Улучшение производительности приложений WPF

Безопасность: Безопасность Windows Presentation Foundation

Download sample

Построение примера

  • Установите пакет средств разработки программного обеспечения для Windows и откройте окно командной строки среды его построения. В меню "Пуск" выделите пункты "Все программы", "Пакет SDK для Microsoft Windows", а затем "Оболочки CMD".

  • Загрузите образец, как правило из документации пакета SDK, на жесткий диск.

  • Чтобы построить образец из окна командной строки среды построения, перейдите в исходный каталог образца. В командной строке введите MSBUILD.

  • Чтобы построить образец в Microsoft Visual Studio, загрузите решение образца или файл проекта и нажмите сочетание клавиш CTRL + SHIFT + B.

Выполнение примера

  • Для запуска скомпилированного образца в окне командной строки среды построения, выполните EXE-файл в папке Bin\Debug или Bin\Release, содержащихся в папке кода источника образца.

  • Для запуска скомпилированного образца с помощью отладки в Visual Studio, нажмите клавишу F5.

Примечания

Этот пример состоит из библиотеки (SharedLibary), которая совместно используется приложением XBAP (XAML browser application — приложение обозревателя XAML) (XBAPClient) и автономным приложением Windows (WinAppClient). Библиотека SharedLibrary инкапсулирует функциональные возможности для выполнения задачи, общей для обоих клиентских приложений. Эта функциональность, в частности, состоит в отображении пользовательский интерфейс, подходящего для того типа клиента, в котором размещен интерфейс, например Page, если код размещен в обозревателе, или Window, если код размещен в автономном приложении.

Общая библиотека использует свойство IsBrowserHosted, чтобы определить, работает ли она в приложении, размещенном в обозревателе, или же в автономном приложении.

Aa972142.alert_note(ru-ru,VS.90).gifПримечание.

Код, создающий экземпляр объекта Window, не может присутствовать в том же члене, что и код, выполняющий проверку свойства IsBrowserHosted; требованиями наследования Window предписывается, чтобы член, в котором создается экземпляр данного объекта, имел разрешение UIPermission. Чтобы решить эту проблему, следует реструктурировать код, переместив код создания экземпляра Window в отдельный метод, пригодный для вызова из того же члена, в котором проверяется свойство IsBrowserHosted, как показано в этом примере.

См. также

Ссылки

IsBrowserHosted