C# Как подогнать размеры моего окна к моему тексту строки

Так что у меня есть маленький Form с 2 Labels: Caption а также Message и хорошо button:

Предположим, у меня есть строка с текстом:

"Cable News Network - американский основной новостной канал кабельного и спутникового телевидения, принадлежащий Turner Broadcasting System, подразделению Time Warner. CNN была основана в 1980 году американским медиа-владельцем Тедом Тернером как 24-часовой канал кабельных новостей".

Теперь эту строку следует положить внутрь Label чтобы видеть в маленьком окне, как Message Box окно.

Это моя "Форма":

<Border Background="Red" BorderBrush="#FF103766" BorderThickness="0" CornerRadius="20,20,20,20">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="50"/>
            <RowDefinition Height="110"/>
            <RowDefinition Height="50"/>
        </Grid.RowDefinitions>
        <Border BorderBrush="IndianRed" BorderThickness="0,0,0,1" Grid.Row="0">
            <Label Name="lblCaption"
                   FontSize="20"
                   FontWeight="Bold"
                   Foreground="Yellow"
                   HorizontalAlignment="Center"
                   VerticalAlignment="Center"
                   Margin="0,0,0,0"/>
        </Border>
        <Grid Grid.Row="1">
            <Label Name="lblMessage"                          
                   FontSize="15"
                   VerticalAlignment="Center"
                   HorizontalAlignment="Center"/>
        </Grid>
            <Border BorderThickness="0,1,0,0" BorderBrush="IndianRed" Grid.Row="2">
            <Grid VerticalAlignment="Center">
                <Button Name="btnOk"
                        Content="OK"
                        FontSize="16"
                        VerticalAlignment="Stretch"
                        HorizontalAlignment="Stretch"
                        Click="btnOk_Click""/>
            </Grid>
        </Border>
    </Grid>
</Border>

Как я могу автоматически соответствовать этому Grid размеры к моему Label это содержит мой Text?

РЕДАКТИРОВАТЬ

Я также хочу разбить строку сообщения, чтобы соответствовать

1 ответ

Решение

Просто установите SizeToContent на правильное значение в окне, которое показывает ваш пользовательский элемент управления:

<Window x:Class="Test.MainWindow"
        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:Test"
        SizeToContent="WidthAndHeight"
        mc:Ignorable="d">
    <Grid>
        <local:MyUserControl/>
    </Grid>
</Window>

В этом случае MyUserControl является вашей формой

Другие вопросы по тегам