Как меня размер окна в зависимости от размера контента в WPF?

Имеется вот такое кастомное окно для вывода текста:

<Window x:Class="DetailsHandbook.CustomDetailTextWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:DetailsHandbook"
    mc:Ignorable="d"
    Title="CustomDetailTextWindow" 
    Height="Auto" Width="300"
    ResizeMode="NoResize"
    WindowStyle="None"
    Background="Transparent"
    WindowStartupLocation="CenterScreen"
    Icon="..\Images\logo4.2.png">
<Border Background="#181735" x:Name="MainBorder">
    <StackPanel>
        <StackPanel Orientation="Horizontal" 
                    Height="22"
                    FlowDirection="RightToLeft" 
                    Background="#FF151192"
                    MouseDown="WindowPanel_MouseDown">
            <Button Width="20" Content="⨉" FontSize="13" 
                    x:Name="WindowCloseButton"
                    Foreground="White" 
                    BorderThickness="0"
                    Click="WindowCloseButton_Click"
                    Style="{StaticResource CloseButtonStyle}"/>
            <Button Width="20" Content="?" FontSize="13" 
                    Foreground="White" 
                    BorderThickness="0"
                    x:Name="WindowHideButton"
                    Click="WindowHideButton_Click"
                    Style="{StaticResource HideButtonStyle}"/>
        </StackPanel>
        <TextBlock Padding="0 10 0 0"
                 x:Name="MessageBoxText"
                 Foreground="White"
                 FontSize="13"
                 HorizontalAlignment="Center"
                 Text=""/>
        <StackPanel Orientation="Horizontal"
                    Height ="40"
                    FlowDirection="RightToLeft" 
                    Background="#FF151192">
            <local:CustomButton Style="{StaticResource DefaultButton}"
                                Width="70"
                                Height="30"
                                Margin="0 0 10 0">

            </local:CustomButton>
            <local:CustomButton Style="{StaticResource DefaultButton}"
                                Width="70"
                                Height="30"
                                Margin="0 0 10 0">

            </local:CustomButton>
        </StackPanel>
    </StackPanel>
</Border>

По умолчанию текстовое поле TextBlock пустое, однако, при нажатии на кнопку я передаю в него текст:

private void DetailButtonClick(object sender, RoutedEventArgs e)
    {
        var messageBox = new CustomDetailTextWindow(buttonObjectPairs.GetValueOrDefault((CustomButton)sender).ToString());
        messageBox.ShowDialog();
    }

Желаемый вывод должен выглядеть как стандартный MessageBox: введите сюда описание изображения

Однако, я получаю вот такое:

введите сюда описание изображения

Никак не могу понять, почему так происходит. Полагаю, это связанно со значением "Auto" для высоты окна, но как тогда позволить ему расширяться?


Ответы (0 шт):