Share via


XamlUIPresenter Klasse

Definition

Ermöglicht die Darstellung einer visuellen Struktur auf einer Microsoft Direct3D-Oberfläche. Dieser Typ wird für Hostingszenarien von Designtools verwendet und ist nicht für die allgemeine Verwendung vorgesehen.

public ref class XamlUIPresenter sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.UI.Xaml.Hosting.HostingContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class XamlUIPresenter final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.UI.Xaml.Hosting.HostingContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class XamlUIPresenter
Public NotInheritable Class XamlUIPresenter
Vererbung
Object Platform::Object IInspectable XamlUIPresenter
Attribute

Windows-Anforderungen

Gerätefamilie
Windows Desktop Extension SDK (eingeführt in 10.0.10240.0)
API contract
Windows.UI.Xaml.Hosting.HostingContract (eingeführt in v1.0)

Hinweise

XamlUIPresenter ist nicht für allgemeine Microsoft DirectX- und Windows-Runtime Interoperationsszenarien vorgesehen. Sie können diese API nicht in einer UWP-App verwenden, die Sie an den Microsoft Store übermitteln, da die Zertifizierung nicht bestanden wird.

Techniken für XAML-Microsoft DirectX-Interoperationsfunktionen finden Sie stattdessen unter DirectX- und XAML-Interop.

XamlUIPresenter ist speziell für die Zusammenarbeit mit Designeroberflächen gedacht, die Windows-Runtime Objekte oder deren XAML-Markup als grafische Objekte in einer Microsoft DirectX-Benutzeroberfläche darstellen.

XamlUIPresenter verfügt über keinen Konstruktor im Windows-Runtime. Um eine instance von XamlUIPresenter abzurufen, müssen Sie eine COM-Funktion (Component Object Model) (CreateXamlUIPresenter) aufrufen, die aus einer Windows-Runtime DLL exportiert wird. Als Teil einer C#-Anwendung können Sie beispielsweise die COM-Bibliothek (Component Object Model) importieren:

[DllImport("windows.ui.xaml.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
public static extern void CreateXamlUIPresenter(
    IViewObjectPresentNotifySite presentSite, out Windows.UI.Xaml.Hosting.XamlUIPresenter presenter
);

Eigenschaften

CompleteTimelinesAutomatically

Ruft einen Wert ab, der bestimmt, ob der Host Zeitachsen immer bis zum Ende ausführen möchte, oder legt diesen fest.

RootElement

Ruft das visuelle Stammelement ab, das auf die Oberfläche gezeichnet werden soll, oder legt es fest.

ThemeKey

Ruft den Zeichenfolgenschlüssel ab, der den zu verwendenden Designsatz aus ThemeResourcesXaml identifiziert, oder legt diesen fest.

ThemeResourcesXaml

Ruft den XAML-Code ab, der ein Ressourcenverzeichnis angibt, oder legt diesen fest. Das Ressourcenwörterbuch enthält Designs, die vom Host aufgelöst und auf den Inhalt angewendet werden sollen.

Methoden

GetFlyoutPlacement(Rect, Size, Size, Rect, FlyoutPlacementMode, Boolean, FlyoutPlacementMode)

Ruft die FlyoutBase-Platzierungslogik unter Verwendung der vorgeschlagenen Größe eines Steuerelements auf, das ein Platzierungsziel und sein Flyout zeigt. Gibt die Grenzen zurück, die das Ergebnis der Ausführung der Platzierungslogik sind.

GetFlyoutPlacementTargetInfo(FrameworkElement, FlyoutPlacementMode, FlyoutPlacementMode, Boolean)

Gibt berechnete Grenzen eines Platzierungsziels zurück, das auch ein Flyout auf dem Host anzeigen soll. Zusätzliche Out-Parameter bieten weitere Informationen dazu, wie die Begrenzungen berechnet wurden.

NotifyWindowSizeChanged()

Ruft das SizeChanged-Ereignis für Window.Current auf. Wird von Hosts verwendet, um Größenänderungen von Hosteinstellungen an Benutzercode weiterzuverbreiten, sodass eine Entwurfsmodusinteraktion von einer Laufzeitinteraktion unterschieden werden kann.

Present()

Stellt die Oberfläche als synchronen Aufruf für den Host dar.

Render()

Rendert die Oberfläche. Vorgesehen für asynchrone Aufrufe über einen Timer.

SetHost(IXamlUIPresenterHost)

Gibt die IXamlUIPresenterHost-Dienstimplementierung an, die für die Anwendungsressourcenauflösung verwendet werden soll.

SetSize(Int32, Int32)

Gibt die Breite und Höhe der Oberfläche an.

Gilt für: