一个页面,有一个canvas,内放一个textblock.如果去掉canvas.clip标签,textblock的内容就会全部显示,显示内容不仅超出textblock的高度,也超过UserControl设置的高度。请问这是什么原因?(如上图:蓝色区域为canvas也即是UserControl设置的高度)
下面是xaml代码:
1 <UserControl x:Class="JLSHSLControls.UnitProduceScrollingMarquee"
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 Width="595" Height="95" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d">
5 <Canvas Background="Blue" xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
6 <Canvas.Triggers>
7 <EventTrigger RoutedEvent="Canvas.Loaded" >
8 <BeginStoryboard>
9 <Storyboard x:Name="animation" Storyboard.TargetProperty="(Canvas.Top)" RepeatBehavior="Forever" >
10 <DoubleAnimation Storyboard.TargetName="ScrollingText" From="0" To="-200" Duration="0:0:50" />
11 </Storyboard>
12 </BeginStoryboard>
13 </EventTrigger>
14 </Canvas.Triggers>
15 <TextBlock x:Name="ScrollingText" Margin="10,0,10,0" TextWrapping="Wrap" Width="580" Height="90" FontFamily="Comic Sans MS" FontSize="14" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Top" Text="上面的代码在Canvas绘制了一条起始点为(20,20)终点为(20,100)的黑色线段.为了方便进行观察,我又在Canvas中添加了两个按钮作为参照.第一个按钮的高度为20,宽度为60,Canvas.Left为20..第二个按钮的高度,宽度,Canvas.Left和第一个按钮相同,单设置了Canvas.Top为100. 根据计算得出:线段的起始点坐标和第一个按钮坐下角的坐标一致,终点坐标和第二个按钮的左上角坐标一直。实际效果也是如此:见下图\r\n 第1章 Web技术概述 Web是WorldWide Web的简称,也可以缩写为WWW,中文译名即万维网。Web并不是一种特殊的计算机网络,而是一个大规模的、联机式的信息储藏所。通过Web,互联网上的资源司以在一个网页里比较直观地表示出来,而且资源之间,在网页上可以相互链接。Web形象地表示出用链接的方法可以非常方便地从Internet上的一个站点访问另一个站点,能够从整个Internet上获得丰富的信息。正是由于Web的出现,才使得Internet在全球内得到了迅速的普及。Web的使用和推广是计算机网络发展历史中的一个里程碑。本章主要介绍了Web技术目前的发展状况,以及现在最流行的几种Web应用技术。" />
16 <!--<Canvas.Clip>
17 <RectangleGeometry x:Name="ClipRect" Rect="0,0,590,100" />
18 </Canvas.Clip>-->
19 </Canvas>
20
21 </UserControl>