silverlight 4.0 scrollviewer没有更新

时间:2012-08-16 11:01:02

标签: silverlight-4.0 scrollviewer

我是Silverlight的新手。我试图提供放大功能以及inkpresenter。我正在使用Silverlight 4,c#,asp.net。我可以将滑块绑定到画布,它会放大但我面临滚动查看器布局的问题,而不是更新。有一些帖子提到我需要使用布局转换。任何人都可以让我知道我做错了什么或任何其他建议。

<Slider x:Name="slider" Maximum="2" Minimum="0" Value="1" Width="100"/>
</StackPanel>

<ScrollViewer x:Name="scrollBar"  VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Column="1" Margin="6,1,1,1" Grid.Row="1">
    <ScrollViewer.Content>
        <toolkit:LayoutTransformer Name="TheTransformer" Background="{x:Null}">
            <toolkit:LayoutTransformer.LayoutTransform>
                <ScaleTransform  x:Name="contentScale" ScaleX="{Binding ElementName=slider,Path=Value}" ScaleY="{Binding ElementName=slider,Path=Value}" />
            </toolkit:LayoutTransformer.LayoutTransform>

            <toolkit:LayoutTransformer.Content>
                <Canvas x:Name="cnsImageEditable" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" OpacityMask="#FFE89E9E">

                    <!--The following commented bit does work i can zoomin and out but scroller not updating -->                
                    <!--<Canvas.RenderTransform>
                        <ScaleTransform x:Name="scale" ScaleX="{Binding ElementName=slider,Path=Value}" ScaleY="{Binding ElementName=slider,Path=Value}"/>
                    </Canvas.RenderTransform>-->

                <InkPresenter x:Name="inkCanvas" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
                    <Image x:Name="imgEditableImage" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"></Image>
                </InkPresenter>

                </Canvas>
            </toolkit:LayoutTransformer.Content>
        </toolkit:LayoutTransformer>
    </ScrollViewer.Content>
</ScrollViewer>

感谢

提供任何帮助

1 个答案:

答案 0 :(得分:0)

查看https://stackoverflow.com/questions/9899729/layouttransformer-in-silverlight-not-working,为我工作。具体来说:

  

我发现Silverlight中的变换发生在Layout之后,所以我只更改了CanvasWidth属性一次,直到滚动条显示,然后缩放才能完美地工作,