Window.SetTitleBar(UIElement) メソッド

定義

XAML 要素をタイトル バーのようにシステムと対話させます。

public:
 virtual void SetTitleBar(UIElement ^ value) = SetTitleBar;
void SetTitleBar(UIElement const& value);
public void SetTitleBar(UIElement value);
function setTitleBar(value)
Public Sub SetTitleBar (value As UIElement)

パラメーター

value
UIElement

タイトル バーとして機能する必要があるカスタム XAML コンテンツ。 複数のオブジェクトを使用するには、Panel から派生したオブジェクトなどのコンテナー要素でラップ します

注釈

このメソッドを使用すると、アプリ ウィンドウのタイトル バーのようにシステムと対話する XAML 要素を指定できます。 このメソッドを使用する場合、既定のシステム タイトル バーを非表示にするには、通常、 CoreApplicationViewTitleBar.ExtendViewIntoTitleBar プロパティを true に設定します。 ただし、既定のシステム タイトル バーが非表示でない場合でも、これを使用して、アプリ内の追加のリージョンをタイトル バーのように動作させることができます。

CoreApplicationView.TitleBar プロパティを使用して、次のように、アプリ ウィンドウの CoreApplicationViewTitleBar のインスタンスを取得します。

// Requires using Windows.ApplicationModel.Core
CoreApplicationView coreView = CoreApplication.GetCurrentView();
CoreApplicationViewTitleBar coreTitleBar = coreView.TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;

// -- OR --

CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;

注意

このメソッドは、モバイル デバイスでアプリを実行する場合は影響しません。これは、アプリはモバイル デバイスでは常に全画面表示であり、ウィンドウ タイトル バーがないためです。

入力

このメソッドを呼び出して XAML UIElement をタイトル バーとして設定すると、Windows は、既定のシステム タイトル バーへの入力を処理するのと同じ方法で、タイトル バー UIElement への入力を処理できます。 たとえば、ユーザーは XAML UIElement をドラッグしてウィンドウを移動したり、右クリックしてウィンドウのコンテキスト メニューを呼び出したりできます。

つまり、ユーザーがタッチ、マウス、またはペンを使用してターゲット UIElement またはその子と対話したときに、アプリはポインター入力を受け取らなくなります。 ただし、キーボード入力を処理 (または禁止) し、タイトル バーのコンテンツがキーボードでタブ移動してフォーカスを受け取ることができるかどうかを判断する必要があります。

レイアウトと外観

タイトル バーの変更 (可視性やサイズなど) に応じて、ターゲット UIElement のビジュアル コンテンツとレイアウトを更新する必要があります。

システム タイトル バーの可視性を一致させるために、 CoreApplicationViewTitleBar.IsVisibleChanged イベントを処理し、必要に応じてカスタム タイトル バーを表示および非表示にして CoreApplicationViewTitleBar.IsVisible プロパティを尊重します。 これにより、システム タイトル バーが非表示の場合に、カスタム タイトル バーの内容が正しく非表示になります。たとえば、ユーザーがアプリを全画面表示モードで表示することを選択した場合などです。

タイトル バーが、常に存在するシステムの最小化、最大化、閉じるボタンなどの他のタイトル バー要素のサイズと一致するようにするには、 CoreApplicationViewTitleBar.LayoutMetricsChanged イベントを処理し、 CoreApplicationViewTitleBar.HeightSystemOverlayLeftInsetおよび SystemOverlayRightInset プロパティを考慮します。

[最小化]、[最大化]、[閉じる] などの既定のタイトル バー ボタンは常にシステムに表示されるため、カスタム XAML タイトル バーの内容に合わせて色を変更することもできます。 これを行うには、 Windows.UI.ViewManagement.ApplicationView.TitleBar プロパティを使用して、アプリ ウィンドウの ApplicationViewTitleBar のインスタンスを取得します。 その後、 ApplicationViewTitleBar のさまざまな色のプロパティを設定して、既定のボタンを変更できます。

適用対象