1

ワード ラップを指定したにもかかわらず、TextBlock 内のテキストがキャンバスを超えて右にはみ出すのはなぜですか?

<Window x:Class="WpfApplication6.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" SizeToContent="WidthAndHeight">
    <DockPanel>
        <StackPanel DockPanel.Dock="Top" Orientation="Horizontal">
            <Button Content="111"/>
            <Button Content="222"/>
            <Button Content="333"/>
            <Button Content="444"/>
            <Button Content="555"/>
        </StackPanel>
        <StackPanel DockPanel.Dock="Left">
            <Button Content="One"/>
            <Button Content="Two"/>
            <Button Content="Three"/>
            <Button Content="Four"/>
            <Button Content="Five"/>
        </StackPanel>
        <Canvas Background="tan">
            <TextBlock TextWrapping="Wrap">This is the content in this area here</TextBlock>
        </Canvas>
    </DockPanel>
</Window>

解決策: ありがとう、スティーブ、それでできました。ScrollViewer も追加しました。

<DockPanel>
    <StackPanel DockPanel.Dock="Top" Orientation="Horizontal">
        <Button Content="111"/>
        <Button Content="222"/>
        <Button Content="333"/>
        <Button Content="444"/>
        <Button Content="555"/>
    </StackPanel>
    <StackPanel DockPanel.Dock="Left">
        <Button Content="One" Click="Button_Click" />
        <Button Content="Two"/>
        <Button Content="Three"/>
        <Button Content="Four"/>
        <Button Content="Five"/>
    </StackPanel>
    <Grid Background="tan">
        <ScrollViewer>
            <TextBlock Name="mainArea" Padding="10" TextWrapping="Wrap">This is the content in this area here</TextBlock>
        </ScrollViewer>
    </Grid>
</DockPanel>
4

1 に答える 1

3

キャンバスの内側にあるため、幅は設定されていません。キャンバスが必要ない場合は、グリッド(自動的にサイズが変更されます)に変更すると、TextBlockが適切に折り返されます。

于 2009-01-26T10:34:02.603 に答える