2011-06-13 38 views
1

所有,把帆布内Viewbox控件在Silverlight中有图片

我试图使Silverlight应用程序我正在做调整以合理的方式。要做到这一点,我想我会使用动态网格。在网格的中心,我需要在画布内部放置图像,因为我将动态地将对象放置在画布的顶部。理想情况下,随着用户使浏览器窗口变大,中央列将能够调整大小并增大,从而增加图像。

下面是我得到了什么:

<Viewbox Grid.Row="0" Grid.Column="1"> 
    <Canvas x:Name="cvsCenterPane"> 
     <Image x:Name="imgFormImage" MouseLeftButtonDown="imgFormImage_MouseLeftButtonDown" 
       MouseLeftButtonUp="imgFormImage_MouseLeftButtonUp" MouseMove="imgFormImage_MouseMove" /> 
    </Canvas> 
</Viewbox> 

在后面的代码,然后我设置图像源。

这里是我的网格定义:

<Grid x:Name="LayoutRoot" Background="DarkCyan" ShowGridLines="True"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="300" /> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="300" /> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="100" /> 
    </Grid.RowDefinitions> 

我认为必须有某种视框的建设过程中发生的,因为图像不显示在所有未处理的异常的。我在这里做错了什么?我采取了错误的做法吗?

回答

3

没有例外,画布没有任何设置尺寸,这是您希望使用ViewBox时的要求。

我一个不会用画布,你可以与电网,因为你可以在单元格中放置一个以上的控制,如果你需要移动的物体周围,你可以在RenderTransform使用MarginTranslateTransform棒属性。

0

这不起作用,因为您无法使用silverlight在Viewbox中设置子项的x:Name属性。至少根据几个来源:

http://blog.ningzhang.org/2008/11/viewbox-control-in-silverlight-toolkit.html
http://forums.silverlight.net/forums/p/48535/128830.aspx
http://forums.silverlight.net/forums/p/45789/123941.aspx#123941

这似乎是由设计。已经提出了一些解决方法,所以我会尝试它们。

编辑:HB似乎是正确的,没有例外,画布需要设置尺寸。