Как меня размер окна в зависимости от размера контента в 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" для высоты окна, но как тогда позволить ему расширяться?
