0

我在 ListBox 中有一些画布。在这些画布中,我有一些文本块,它们的文本绑定到它们。但是,当我尝试在文本块(或标准高度/宽度)上使用 MaxWidth/Height 属性时,这些属性将被忽略!所以我最终的结果是文本溢出了画布。

我非常感谢您对此事的任何帮助,我希望我不只是一个盲目的白痴!

哦,这是代码(我正在谈论的 TextBlock 是第一个):

<ListBox Margin="0,-9,-12,0" ItemsSource="{Binding}" Name="listBoxNotes" HorizontalAlignment="Left" VerticalAlignment="Top" Width="400" Height="548">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <Canvas Height="175" Width="360" Background="{StaticResource PhoneAccentBrush}" toolkit:TiltEffect.IsTiltEnabled="True" Name="canvasNote" Tap="canvasNote_Tap">
                    <TextBlock Text="{Binding Title}" FontWeight="Bold" FontSize="26" Foreground="White" Canvas.Left="10" Canvas.Top="5" x:Name="Title" Width="100" MaxWidth="100"/>
                    <TextBlock Text="{Binding Details}" TextWrapping="Wrap" Width="352" FontSize="24" Foreground="White" Canvas.Left="10" Canvas.Top="35" />
                </Canvas>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
4

1 回答 1

2

这样做的问题是 Canvas 不会限制其子级的大小,尤其是TextBlock控件会根据需要增长。

解决问题的多种方法:

  • 不要使用TextBlock,但TextBox
  • 请勿使用Canvas其他容器,例如Border, Grid, StackPanel...
  • 尝试剪辑TextBlock内容

<TextBlock.Clip> <RectangleGeometry Rect="0, 0, 50, 30"/> </TextBlock.Clip>

于 2013-07-09T06:49:35.013 回答