Текстовая упаковка для UserControl внутри Popup - PullRequest
1 голос
/ 01 марта 2012

У меня есть пользовательский элемент управления, который внутри имеет TextBlock (textmsg), ниже представлен файл xaml

<UserControl x:Class="XXXXX.MyMsgBox"
    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"
    mc:Ignorable="d"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    d:DesignHeight="400" d:DesignWidth="480">

    <Grid x:Name="LayoutRoot" Background="#FF000000">

        <StackPanel HorizontalAlignment="Left" Name="stackPanel2" VerticalAlignment="Top" Margin="10">

            <TextBlock Margin="10" Name="textmsg" Text="{Binding Path=LocalizedResources.wb_msg, Source={StaticResource LocalizedStrings}}" TextWrapping="Wrap" />

            <StackPanel Name="stackPanel1" Orientation="Horizontal">
                <Button Width="140" Content="{Binding Path=LocalizedResources.set_wb, Source={StaticResource LocalizedStrings}}" Name="button1" Click="button1_Click" FontSize="22" />
                <Button Width="170" Content="{Binding Path=LocalizedResources.default_wb, Source={StaticResource LocalizedStrings}}" Name="button2" FontSize="22" />
                <Button Width="140" Content="{Binding Path=LocalizedResources.cancel, Source={StaticResource LocalizedStrings}}" Height="72" Name="button3" FontSize="22" />
            </StackPanel>

        </StackPanel>

    </Grid>

</UserControl>

, затем в C # я использую следующий код для отображения всплывающего окна

    Popup popup = new Popup();
    MyMsgBox mmb = new MyMsgBox(popup);
    popup.Height = 400;
    popup.VerticalOffset = 328;
    popup.HorizontalOffset = 0;
    popup.Child = mmb;
    popup.IsOpen = true;

но текст внутри textmsg не переносится, почему?Что не так?

С уважением.

1 Ответ

0 голосов
/ 01 марта 2012

Вам следует установить свойство MaxWidth для родительского элемента ( StackPanel ) вашего TextBlock (textmsg) .StackPanel настраивается в соответствии с тем, что запрашивает его содержимое, и дает бесплатное управление содержимому, чтобы просить что-либо.Таким образом, TextBlock запрашивает полную ширину текста без переноса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...