2012-02-29 31 views
1

我有內部有一個TextBlock(textmsg)一個用戶控制一個用戶控件,以下是XAML文件Textwrapping張問題爲內部彈出

<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文本不裹,爲什麼呢?哪裏不對?

此致敬禮。

回答

0

你應該設置你的的TextBlock(textmsg)的父(的StackPanel)的MaxWidth財產。 StackPanel的大小,無論其內容要求什麼,併爲內容提供免費統治以尋求任何東西。因此,TextBlock要求全部寬度的文本沒有包裝。