7

これは非常に簡単なはずですが、まだわかりません。

私のサンプル アプリでは、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>
4

1 に答える 1

7

TextBlock試してみたところ、 をのにバインドすると、目的MaxWidthの効果が得られるようです。ActualWidthButton

<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 に答える