我在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,而是使用其他容器,例如BorderGridStackPanel ...
尝试剪辑TextBlock内容


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

关于c# - C#-Windows Phone-MaxWidth和MaxHeight属性被忽略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17529117/

10-12 12:40
查看更多