【问题标题】:Size-to-content-layout problem in WPFWPF中的大小到内容布局问题
【发布时间】:2010-09-19 18:08:21
【问题描述】:

这应该是不费吹灰之力的,但我还是想不通。

在我的示例应用中,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>

【问题讨论】:

    标签: wpf layout


    【解决方案1】:

    试过了,看来将TextBlockMaxWidth绑定到ButtonActualWidth就可以达到你想要的效果了:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 2013-02-17
      • 2010-11-19
      • 2011-04-24
      • 2020-12-11
      • 1970-01-01
      相关资源
      最近更新 更多