我在画布背景上有网格,可以在图片中看到。在第1行,我想标记列。我已经将TextBlock用于此目的。但是当字符数增加时,我无法看到TextBlock.e.g的全部内容。当内容为9990时,我可以看到它,但在下一个标签中,内容是10020,其中包含更多字符。我只能看到1002.矩形大小是30,它是绘制网格。 TextBlock Width是27,TextBlock的Margin是3.enter image description here我不想改变字体大小。
<Canvas x:Name="back_canvas" Height="12000" Width="{Binding CanvasWidth , UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="0,0,10,0" >
<Canvas.Background>
<DrawingBrush TileMode="Tile" Viewport="0,0,30,30" ViewportUnits="Absolute">
<DrawingBrush.Drawing>
<GeometryDrawing>
<GeometryDrawing.Geometry>
<RectangleGeometry Rect="0,0,30,30"/>
</GeometryDrawing.Geometry>
<GeometryDrawing.Pen>
<Pen Brush="Gray" Thickness="1"/>
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingBrush.Drawing>
</DrawingBrush>
</Canvas.Background>
<ItemsControl ItemsSource="{Binding TimeAxis}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Name="horizontalLabels" Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Margin="0,0,3,0" Width="27" Background="Red" Height="Auto" >
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Canvas>
正如我在对问题的评论中已经提到的那样,您可以将TextTrimming
的TextBlock
设置为CharacterEllipsis
,以指示某些部分被切断并添加带有完整字符串的工具提示。
这看起来像这样:
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" ToolTip="{Binding}" TextTrimming="CharacterEllipsis" Margin="0,0,3,0" Width="27" Background="Red" Height="Auto"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
这应该像10020
这样的| 1002 |
这样的大数字变成像| 100... |
这样的工具提示说10020