silverlight可以有两个canvas么?

magicianfc 2009-06-28 02:53:17
我用vs2008开发,想在xaml中写有两个canvas,分别去绘制不同的图形,因为我想让一个canvas中的图形能放大缩小,而另一个canvas中的图形不受影响。。。但是写两个canvas总是报错,不知道原因错在哪儿了?
请高手帮帮忙。
谢谢。
...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
magicianfc 2009-06-30
  • 打赏
  • 举报
回复
谢谢,我搞明白了。一开始我以为两个canvas是并列的结构,后来发现要有一个总的canvas,然后内嵌两个并行的canvas即可。谢谢。
jv9 2009-06-29
  • 打赏
  • 举报
回复
可以使用多个面板布局,使用嵌套即可.
malin2670372 2009-06-28
  • 打赏
  • 举报
回复
<Canvas x:Name="Move"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Silverlight20.MyTest.MoveA" Width="540" Height="400" Background="White">
<Canvas.Resources>
<SolidColorBrush x:Key="Brush1" Color="#FFA42020"/>
</Canvas.Resources>

<!-- 定义两个圆形对象,形成一个圆环效果-->
<Canvas MouseLeftButtonDown="onMouseDown" MouseLeftButtonUp="onMouseUp" MouseMove="onMouseMove"
Canvas.Top="20" Canvas.Left="50">
<Ellipse Height="100" Width="100" Fill="Gold" Stroke="Black" StrokeThickness="4" Canvas.Top="25" />
<Ellipse Height="50" Width="50" Canvas.Top="49" Canvas.Left="24" Fill="Black" /></Canvas>
<!-- 定义一个钻石形状 -->
<Canvas MouseLeftButtonDown="onMouseDown" MouseLeftButtonUp="onMouseUp" MouseMove="onMouseMove"
Canvas.Top="140" Canvas.Left="100">
<!--使用旋转渐变让该画布旋转45度-->
<Canvas.RenderTransform>
<RotateTransform Angle="45" />
</Canvas.RenderTransform>
<Rectangle Height="100" Width="100" Fill="Coral"
Stroke="Black" StrokeThickness="4" Canvas.Top="-53.741" Canvas.Left="79.196" />
</Canvas>
<Path Height="60.918" Width="35.99" Canvas.Left="124.031" Canvas.Top="137.235" Data="M119.86206,134.74496 C155.86206,190.74496 153.83022,193.66264 153.83022,193.66264" Fill="{StaticResource Brush1}" Stretch="Fill" Stroke="#FF000000" StrokeThickness="2"/>
</Canvas>[code=XAML][/code]
如上。
malin2670372 2009-06-28
  • 打赏
  • 举报
回复
完全可以,但是2个canvas 放在一个canvas中,也就是需要第三个3个canvas 了。

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧