WPF中的大小到内容布局问题

Ale*_*zik 7 wpf layout

这应该是一个没有脑子的人,但我仍然无法弄明白.

在我的示例应用程序中,Dockpanel中有一个按钮和一个文本框.如果文本框的内容小于文本框的内容,则窗口大小与显示按钮内容所需的大小相同.这就是我想要的.但是,如果我在文本框中放入更多文本,窗口会变宽:-(

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

谢谢!

一些示例代码:

<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>
Run Code Online (Sandbox Code Playgroud)

Mat*_*ton 7

尝试过它,它似乎结合TextBlockMaxWidthActualWidthButton达到你后的效果:

<Button x:Name="btn" DockPanel.Dock="Top">Short text</Button>
<TextBlock TextWrapping="Wrap" 
  MaxWidth="{Binding ElementName=btn,Path=ActualWidth}">A rather long text</TextBlock>
Run Code Online (Sandbox Code Playgroud)