2013-03-20 145 views
1

假设我有以下XAML。WPF中的自动高度usercontrol

我怎样才能达到最外层Button有这样的高度,使TextBlock文本是完全可见的?

<StackPanel> 
     <Button HorizontalContentAlignment="Stretch" Width="100" > 
      <DockPanel > 
       <CheckBox DockPanel.Dock="Left"/> 
       <Button DockPanel.Dock="Right" Content="X" />     
       <TextBlock > 
    some very long text some very long textsome very long textsome very long textsome very long text 
       </TextBlock> 
      </DockPanel> 
     </Button> 
    </StackPanel> 

回答

3

设置TextBlock.TextWrappingWrap所以当它达到允许空间

<TextBlock TextWrapping="Wrap" 
      Text="some very long text some very long textsome very long textsome very long textsome very long text" /> 
+0

耶的边缘就会自动换行到新行!我知道这很简单。 – clearpath 2013-03-20 15:32:52

0

添加另一个堆叠面板

<StackPanel> 
     <Button HorizontalContentAlignment="Stretch" Width="auto" > 
      <DockPanel> 
       <CheckBox DockPanel.Dock="Left"/> 
       <StackPanel> 
        <Button DockPanel.Dock="Right" Content="x" HorizontalAlignment="Right" /> 
        <TextBlock Text="some very long text some very long textsome very long textsome very long textsome very long text" /> 
       </StackPanel> 
      </DockPanel> 
     </Button> 
    </StackPanel>