Window.SetTitleBar(UIElement) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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.Height、 SystemOverlayLeftInset、 および SystemOverlayRightInset プロパティを考慮します。
[最小化]、[最大化]、[閉じる] などの既定のタイトル バー ボタンは常にシステムに表示されるため、カスタム XAML タイトル バーの内容に合わせて色を変更することもできます。 これを行うには、 Windows.UI.ViewManagement.ApplicationView.TitleBar プロパティを使用して、アプリ ウィンドウの ApplicationViewTitleBar のインスタンスを取得します。 その後、 ApplicationViewTitleBar のさまざまな色のプロパティを設定して、既定のボタンを変更できます。