我在ListBox中有一些画布。在这些画布中,我有一些TextBlocks,它们的文本绑定到它们。但是,当我尝试在文本块(或标准高度/宽度)上使用MaxWidth / Height属性时,属性将被忽略!所以我最终在案例中填写了Canvas文本。
我非常感谢有关此事的任何帮助,我希望我不仅仅是一个盲目的白痴!
哦,这是代码(我正在谈论的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>
答案 0 :(得分:2)
这个问题是Canvas并没有限制他们孩子的大小,特别是TextBlock
控件会增加所需的数量。
解决问题的方法很多:
TextBlock
,而应使用TextBox
Canvas
,而是使用其他容器,例如Border
,Grid
,StackPanel
...... TextBlock
内容 <TextBlock.Clip>
<RectangleGeometry Rect="0, 0, 50, 30"/>
</TextBlock.Clip>