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


DesktopWindowXamlSource Класс

Определение

Позволяет классическому приложению, отличному от UWP (например, WPF или приложению Windows Forms) размещать элементы управления UWP в любом элементе пользовательского интерфейса, связанном с дескриптором окна (HWND).

/// [Windows.Foundation.Metadata.ContractVersion(Windows.UI.Xaml.Hosting.HostingContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DesktopWindowXamlSource : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.UI.Xaml.Hosting.HostingContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DesktopWindowXamlSource : System.IDisposable
Public Class DesktopWindowXamlSource
Implements IDisposable
Наследование
Object IInspectable DesktopWindowXamlSource
Атрибуты
Реализации

Требования к Windows

Семейство устройств
Windows Desktop Extension SDK (появилось в 10.0.17763.0)
API contract
Windows.UI.Xaml.Hosting.HostingContract (появилось в v3.0)

Комментарии

DesktopWindowXamlSource — это класс main в API размещения UWP XAML. Этот API позволяет классическим приложениям, не связанным с UWP, размещать любой элемент управления, производный от Windows.UI.Xaml.UIElement) в элементе пользовательского интерфейса, связанном с дескриптором окна (HWND). Этот API может использоваться классическими приложениями, созданными с помощью WPF, Windows Forms и API Windows (Win32). Дополнительные сведения см. в статье Использование API размещения UWP XAML в классическом приложении.

При создании объекта DesktopWindowXamlSource перед созданием объектов Windows.UI.Xaml.UIElement , которые будут размещаться в нем, платформа для размещения содержимого Windows.UI.Xaml.UIElement инициализирует все объекты в одном потоке. При создании объектов Windows.UI.Xaml.UIElement перед созданием объекта DesktopWindowXamlSource , в котором они будут размещаться, необходимо вызвать WindowsXamlManager.InitializeForCurrentThread перед созданием экземпляра объектов Windows.UI.Xaml.UIElement .

Так как DesktopWindowXamlSource является производным от IClosable, рекомендуется закрыть его (удалить в .NET) по завершении работы с ним.

Конструкторы

DesktopWindowXamlSource()

Инициализирует новый экземпляр класса DesktopWindowXamlSource .

Свойства

Content

Возвращает или задает объект Windows.UI.Xaml.UIElement , который требуется разместить в классическом приложении.

HasFocus

Возвращает значение, указывающее, находится ли desktopWindowXamlSource в настоящее время фокусом в классическом приложении.

Методы

Close()

Закрывает и освобождает все ресурсы, используемые этим DesktopWindowXamlSource.

Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

NavigateFocus(XamlSourceFocusNavigationRequest)

Пытается программно передать фокус на DesktopWindowXamlSource в классическом приложении.

События

GotFocus

Происходит, когда DesktopWindowXamlSource получает фокус в классическом приложении (например, пользователь нажимает клавишу TAB , когда фокус находится на элементе непосредственно перед DesktopWindowXamlSource).

TakeFocusRequested

Происходит, когда ведущее классическое приложение получает запрос на возврат фокуса из объекта DesktopWindowXamlSource (например, пользователь находится на последнем фокусируемом элементе в DesktopWindowXamlSource и нажимает клавишу TAB).

Применяется к

См. также раздел