CoreApplication Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Позволяет приложениям обрабатывать изменения состояния, управлять окнами и интегрироваться с различными платформами пользовательского интерфейса.
public ref class CoreApplication abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class CoreApplication final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public static class CoreApplication
Public Class CoreApplication
- Наследование
- Атрибуты
Требования к Windows
| Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Комментарии
Система создает этот объект в виде одноэлементного объекта при запуске приложения. Он запускается как объект application Single-Threaded Apartment (ASTA). Потоки, созданные из одноэлементного приложения, например поставщика представлений (см. в примере ниже), должны быть отнесены к многопотоковой квартире (MTAThread).
Этот API поддерживается только в универсальная платформа Windows приложениях, за исключением свойства Properties, которое всегда доступно.
struct App : implements<App, IFrameworkViewSource, IFrameworkView>
{
public:
IFrameworkView CreateView()
{
return *this;
}
};
...
int __stdcall wWinMain(HINSTANCE, HINSTANCE, PWSTR, int)
{
Windows::ApplicationModel::Core::CoreApplication::Run(App());
}
ref class MyFrameworkViewSource : IFrameworkViewSource
{
public:
virtual IFrameworkView^ CreateView()
{
return ref new MyFrameworkView();
}
};
// ...
[Platform::MTAThread]
int main(Platform::Array<Platform::String^>^)
{
auto frameworkViewSource = ref new MyFrameworkViewSource();
Windows::ApplicationModel::Core::CoreApplication::Run(frameworkViewSource);
return 0;
}
internal class ApplicationSource : IFrameworkViewSource
{
public virtual IFrameworkView CreateView()
{
return new CoreApp();
}
}
...
[MTAThread]
public static int Main()
{
var appSource = new ApplicationSource();
CoreApplication.Run(appSource);
return 0;
}
Журнал версий
| Версия Windows | Версия пакета SDK | Добавленная стоимость |
|---|---|---|
| 1607 | 14393 | BackgroundActivated |
| 1607 | 14393 | EnablePrelaunch |
| 1607 | 14393 | EnteredBackground |
| 1607 | 14393 | LeavingBackground |
| 1709 | 16299 | RequestRestartAsync |
| 1709 | 16299 | RequestRestartForUserAsync |
Свойства
| Id |
Возвращает идентификатор приложения относительно пакета для процесса. |
| MainView |
Возвращает main экземпляр CoreApplicationView для всех запущенных приложений, использующих этот экземпляр CoreApplication. |
| Properties |
Возвращает набор свойств, который приложения и платформы пользовательского интерфейса могут использовать для хранения сведений во время выполнения процесса. |
| Views |
Получает все представления для приложения. |
Методы
| CreateNewView() |
Создает новое представление для приложения. |
| CreateNewView(IFrameworkViewSource) |
Создает новое представление для приложения. |
| CreateNewView(String, String) |
Создает новое представление для приложения. |
| DecrementApplicationUseCount() |
Уменьшает общее количество запущенных экземпляров приложения, использующих этот экземпляр CoreApplication . |
| EnablePrelaunch(Boolean) |
Включите или отключите возможность предварительного запуска приложения операционной системой. |
| Exit() |
Завершает работу приложения. |
| GetCurrentView() |
Возвращает представление, соответствующее текущему потоку. |
| IncrementApplicationUseCount() |
Увеличивает общее количество запущенных экземпляров приложения, использующих этот экземпляр CoreApplication . |
| RequestRestartAsync(String) |
Перезапустите приложение. |
| RequestRestartForUserAsync(User, String) |
Перезапустите приложение в контексте другого пользователя. |
| Run(IFrameworkViewSource) |
Запускает фабрику внешних поставщиков представлений для получения поставщика представлений. |
| RunWithActivationFactories(IGetActivationFactory) |
Запускает фабрику активируемых типов, чтобы получить внешний активируемый тип. |
События
| BackgroundActivated |
Активируется при активации приложения с помощью фонового триггера. |
| EnteredBackground |
Срабатывает, когда приложение переходит в состояние выполнения в фоновом режиме. |
| Exiting |
Происходит при завершении работы приложения. |
| LeavingBackground |
Активируется непосредственно перед тем, как пользовательский интерфейс приложения станет видимым. |
| Resuming |
Происходит при возобновлении приложения. |
| Suspending |
Происходит, когда приложение приостанавливается. |
| UnhandledErrorDetected |
Возникает при возникновении базовой ошибки, которая направляется в экземпляр CoreApplication в рамках глобальной логики обработки ошибок. |