【问题标题】:C# - Windows Phone - MaxWidth & MaxHeight property being ignoredC# - Windows Phone - MaxWidth 和 MaxHeight 属性被忽略
【发布时间】:2013-07-08 14:24:28
【问题描述】:

我在 ListBox 中有一些画布。在这些画布中,我有一些文本块,它们的文本绑定到它们。但是,当我尝试在文本块(或标准高度/宽度)上使用 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>

【问题讨论】:

  • 如果你显示一些代码会更容易帮助你。
  • 添加了一些代码,希望对您有所帮助。

标签: c# windows-phone-7 canvas windows-phone-8 css


【解决方案1】:

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

解决问题的多种方法:

  • 不要使用TextBlock,而是使用TextBox
  • 不要使用Canvas,而是使用另一个容器,例如BorderGridStackPanel...
  • 尝试剪辑TextBlock内容

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

【讨论】:

  • 非常感谢!从现在开始我将使用网格!
  • 其实我还有一个问题,如何访问Grid的子TextBlocks之一?
猜你喜欢
  • 2011-07-16
  • 1970-01-01
  • 2012-06-24
  • 1970-01-01
  • 2013-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多