Window.SetTitleBar(UIElement) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Включает поведение строки заголовка для элемента XAML, если ExtendsContentIntoTitleBar
имеет значение true
.
public:
virtual void SetTitleBar(UIElement ^ titleBar) = SetTitleBar;
void SetTitleBar(UIElement const& titleBar);
public void SetTitleBar(UIElement titleBar);
function setTitleBar(titleBar)
Public Sub SetTitleBar (titleBar As UIElement)
Параметры
- titleBar
- UIElement
Элемент для поддержки поведения строки заголовка.
Примеры
В этом примере показано, как расширить область содержимого окна и заменить строку Grid
заголовка системы на , содержащую значок и текст заголовка.
<Window ... >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid x:Name="AppTitleBar">
<Image Source="Images/WindowIcon.png"
HorizontalAlignment="Left"
Width="16" Height="16"
Margin="8,0"/>
<TextBlock x:Name="AppTitleTextBlock" Text="App title"
TextWrapping="NoWrap"
Style="{StaticResource CaptionTextBlockStyle}"
VerticalAlignment="Center"
Margin="28,0,0,0"/>
</Grid>
<NavigationView Grid.Row="1">
<!-- Page content -->
</NavigationView>
</Grid>
</Window>
public MainWindow()
{
this.InitializeComponent();
ExtendsContentIntoTitleBar = true;
SetTitleBar(AppTitleBar); // skip call to this api to get a default custom title bar
}
Комментарии
Вызовите этот метод, чтобы заменить строку заголовка системы пользовательским пользовательским интерфейсом заголовка для вашего приложения. Указанный элемент поддерживает те же системные взаимодействия, что и в строке заголовка системы, включая перетаскивание, двойной щелчок для изменения размера и щелчок правой кнопкой мыши для отображения системного меню. В результате ввод указателя (мышь, сенсорный ввод, перо и т. д.) больше не распознается элементом и его дочерними элементами.
Прямоугольная область, занимаемая указанным элементом, выступает в качестве строки заголовка для указателя, даже если элемент блокируется другим элементом или элемент является прозрачным.
Если вы хотите разместить интерактивные элементы в области заголовка окна, можно использовать API InputNonClientPointerSource . Пример см. на странице Заголовок в примере коллекции WinUI .
Расширение содержимого в строке заголовка
Чтобы указать настраиваемую строку заголовка, необходимо задать для параметра ExtendsContentIntoTitleBar значение , true
чтобы скрыть системную строку заголовка по умолчанию. Если ExtendsContentIntoTitleBar
имеет значение false
, вызов SetTitleBar
не оказывает никакого влияния. Элемент пользовательской строки заголовка отображается в тексте окна приложения как обычный элемент пользовательского интерфейса и не получает поведения заголовка окна.
Если для свойства ExtendsContentIntoTitleBar задано значение true
, но не вызывать SetTitleBar
(или вызывать SetTitlebar
с аргументом null
), будет предоставлена настраиваемая строка заголовка по умолчанию. Эта строка заголовка по умолчанию является прямой заменой строки заголовка системы по положению, ширине и высоте. Если вам нужна специализированная строка заголовка, можно вызвать SetTitleBar с элементом UIElement и получить область заголовка строки по UIElement
этой позиции, ширине и высоте. Его UIElement
можно разместить в любом месте содержимого приложения, а не только в не клиентской области.
Элемент "Строка заголовка"
В строке заголовка можно указать только один элемент. Если требуется несколько элементов, их можно указать как дочерние элементы одного контейнера (например , Grid или StackPanel).
Настраиваемая строка заголовка лучше всего работает, если она не глубоко вложена в приложение. Глубокое вложение uiElement в дерево XAML может привести к непредсказуемой поведению макета. Строка заголовка всегда будет иметь прямоугольную форму. В случае с непрямоугольным UIElement
прямоугольником будет использоваться прямоугольный ограничивающий прямоугольник для размеров строки заголовка.
Цвета
В пользовательской строке заголовка для реализации используется строка заголовка AppWindow . В результате можно использовать API тем AppWindowTitleBar для таких цветов, как ButtonBackgroundColor
, ButtonForegroundColor
и т. д.
Использование тем на основе ресурсов в более ранних версиях (например WindowCaptionBackground
, ) является нерекомендуемой и не оказывает никакого влияния.