Window.SetTitleBar(UIElement) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bewirkt, dass ein XAML-Element mit dem System interagiert, als ob es sich um die Titelleiste handelt.
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)
Parameter
- value
- UIElement
Benutzerdefinierte XAML-Inhalte, die als Titelleiste fungieren sollen. Um mehrere Objekte zu verwenden, umschließen Sie sie in ein Containerelement, z. B. eins, das von Panel abgeleitet ist.
Hinweise
Mit dieser Methode können Sie ein XAML-Element angeben, das mit dem System interagiert, als ob es sich um die Titelleiste des App-Fensters handelt. Wenn Sie diese Methode verwenden, legen Sie in der Regel die CoreApplicationViewTitleBar.ExtendViewIntoTitleBar-Eigenschaft auf true fest, um die Standardtitelleiste des Systems auszublenden. Selbst wenn die Standardmäßige Systemtitelleiste nicht ausgeblendet ist, kann dies jedoch verwendet werden, damit sich zusätzliche Bereiche in Ihrer App wie die Titelleiste verhalten.
Verwenden Sie die CoreApplicationView.TitleBar-Eigenschaft, um wie folgt die instance von CoreApplicationViewTitleBar für Ihr App-Fenster abzurufen.
// Requires using Windows.ApplicationModel.Core
CoreApplicationView coreView = CoreApplication.GetCurrentView();
CoreApplicationViewTitleBar coreTitleBar = coreView.TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;
// -- OR --
CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;
Hinweis
Diese Methode hat keine Auswirkung, wenn eine App auf einem mobilen Gerät ausgeführt wird, da Apps auf mobilen Geräten immer im Vollbildmodus ausgeführt werden und keine Fenstertitelleiste aufweisen.
Eingabe
Wenn Sie diese Methode aufrufen, um ein XAML-UIElement als Titelleiste festzulegen, kann Windows Eingaben für die Titelleiste UIElement auf die gleiche Weise verarbeiten, wie eingaben in der Standard-Systemtitelleiste. Beispielsweise kann ein Benutzer das Fenster verschieben, indem er das XAML-UIElement zieht, oder das Kontextmenü des Fensters aufrufen, indem er mit der rechten Maustaste darauf klickt.
Dies bedeutet, dass Ihre App keine Zeigereingabe mehr empfängt, wenn der Benutzer mit dem ZIEL-UIElement oder dessen untergeordneten Elementen per Toucheingabe, Maus oder Stift interagiert. Sie müssen jedoch weiterhin Tastatureingaben verarbeiten (oder verhindern) und bestimmen, ob Inhalte in der Titelleiste den Fokus erhalten können, indem Sie mit der Tastatur darauf klicken.
Layout und Darstellung
Sie müssen den visuellen Inhalt und das Layout des UIElement-Ziels als Reaktion auf Änderungen in der Titelleiste aktualisieren, z. B. Sichtbarkeit und Größe.
Um die Sichtbarkeit der Systemtitelleiste abzugleichen, behandeln Sie das CoreApplicationViewTitleBar.IsVisibleChanged-Ereignis , und respektieren Sie die CoreApplicationViewTitleBar.IsVisible-Eigenschaft , indem Sie Die benutzerdefinierte Titelleiste nach Bedarf anzeigen und ausblenden. Dadurch wird sichergestellt, dass der Inhalt der benutzerdefinierten Titelleiste ordnungsgemäß ausgeblendet wird, wenn die Systemtitelleiste ausgeblendet wird. beispielsweise, wenn der Benutzer ihre App im Vollbildmodus anzeigt.
Um sicherzustellen, dass die Titelleiste mit der Größe anderer Titelleistenelemente übereinstimmt, z. B. die immer vorhandenen Systemschaltflächen Minimieren, Maximieren und Schließen, behandeln Sie das CoreApplicationViewTitleBar.LayoutMetricsChanged-Ereignis , und beachten Sie die Eigenschaften CoreApplicationViewTitleBar.Height, SystemOverlayLeftInset und SystemOverlayRightInset .
Die Standardmäßigen Titelleistenschaltflächen, z. B. Minimieren, Maximieren und Schließen, werden immer vom System angezeigt, sodass Sie möglicherweise auch deren Farbe an Den inhalt der benutzerdefinierten XAML-Titelleiste ändern möchten. Verwenden Sie dazu die Windows.UI.ViewManagement.ApplicationView.TitleBar-Eigenschaft, um die instance von ApplicationViewTitleBar für Ihr App-Fenster abzurufen. Anschließend können Sie die verschiedenen Farbeigenschaften für ApplicationViewTitleBar festlegen, um die Standardschaltflächen zu ändern.