我在ListBox中有一些画布。在这些Canvas中,我有一些TextBlock,它们的文本绑定了它们。但是,当我尝试在文本块(或标准的Height / Width)上使用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>
最佳答案
问题是Canvas不会限制孩子的大小,尤其是TextBlock
控件将根据需要增长。
解决问题的多种方法:
不要使用TextBlock
,而要使用TextBox
请勿使用Canvas
,而是使用其他容器,例如Border
,Grid
,StackPanel
...
尝试剪辑TextBlock
内容<TextBlock.Clip> <RectangleGeometry Rect="0, 0, 50, 30"/> </TextBlock.Clip>
关于c# - C#-Windows Phone-MaxWidth和MaxHeight属性被忽略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17529117/