7

这应该是没有道理的,但我仍然无法弄清楚。

在我的示例应用程序中,停靠面板中有一个按钮和一个文本框。如果文本框的内容小于文本框的内容,则窗口将与显示按钮内容所需的一样大。这就是我想要的。但是,如果我在文本框中输入更多文本,窗口会变得更宽:-(

我想要的行为是窗口根据按钮内容获取宽度,文本框包装其内容(或/并在必要时显示滚动条)。

谢谢!

一些示例代码:

<Window x:Class="SO1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" SizeToContent="Width" FontSize="20">
    <DockPanel>
        <Button DockPanel.Dock="Top">A rather long text</Button>
        <TextBlock TextWrapping="Wrap">Short text</TextBlock>
    </DockPanel>
</Window>
4

1 回答 1

7

尝试过,似乎将TextBlock's绑定到 sMaxWidth可以ActualWidth达到Button您所追求的效果:

<Button x:Name="btn" DockPanel.Dock="Top">Short text</Button>
<TextBlock TextWrapping="Wrap" 
  MaxWidth="{Binding ElementName=btn,Path=ActualWidth}">A rather long text</TextBlock>
于 2008-10-29T09:00:46.830 回答