XamlUIPresenter 類別

定義

可讓您在 Microsoft Direct3D 介面上呈現視覺化樹狀結構。 此類型用於設計工具裝載案例,不適用於一般用途。

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
繼承
Object Platform::Object IInspectable XamlUIPresenter
屬性

Windows 需求

裝置系列
Windows Desktop Extension SDK (已於 10.0.10240.0 引進)
API contract
Windows.UI.Xaml.Hosting.HostingContract (已於 v1.0 引進)

備註

XamlUIPresenter 不適用於一般 Microsoft DirectX 和Windows 執行階段交互操作案例。 您無法在提交至 Microsoft Store 的 UWP 應用程式中使用此 API,它將不會通過認證。

如需 XAML-Microsoft DirectX 交互操作功能的技術,請參閱 DirectX 和 XAML Interop

XamlUIPresenter 特別適用于與設計工具介面互通,這些介面會將Windows 執行階段物件或其 XAML 標記表示為 Microsoft DirectX UI 中的繪圖物件。

XamlUIPresenter 在Windows 執行階段中沒有建構函式。 若要取得 XamlUIPresenter 的實例,您必須叫用元件物件模型 (COM) 函式, (CreateXamlUIPresenter) 從 Windows 執行階段 DLL 匯出。 例如,作為 C# 應用程式的一部分,您可以匯入元件物件模型 (COM) 程式庫:

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

屬性

CompleteTimelinesAutomatically

取得或設定值,這個值會決定主機是否希望時間軸一律以結束執行。

RootElement

取得或設定要繪製至表面的根視覺專案。

ThemeKey

取得或設定字串索引鍵,識別要從 ThemeResourcesXaml使用的主題集。

ThemeResourcesXaml

取得或設定指定資源字典的 XAML。 資源字典包含主機應該解析的主題,以及應該套用至內容的主題。

方法

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

使用顯示放置目標和其飛出視窗之控制項的建議大小,叫用 FlyoutBase 放置邏輯。 傳回執行放置邏輯的結果界限。

GetFlyoutPlacementTargetInfo(FrameworkElement, FlyoutPlacementMode, FlyoutPlacementMode, Boolean)

會傳重播置目標的計算界限,此範圍旨在同時在主機中顯示飛出視窗。 其他 out 參數提供如何計算界限的詳細資訊。

NotifyWindowSizeChanged()

叫用Window.Current上的SizeChanged事件。 由主機用來將大小變更從主機設定傳播到使用者程式碼,讓設計模式互動可以與執行時間互動區別。

Present()

呈現表面,做為主機的同步呼叫。

Render()

呈現表面。 適用于透過計時器進行非同步呼叫。

SetHost(IXamlUIPresenterHost)

指定要用於應用程式資源解析的 IXamlUIPresenterHost 服務實作。

SetSize(Int32, Int32)

指定表面的寬度和高度。

適用於