2009-12-04 4 views
1

Je dois zoomer Toile. Dans WPF, il est possible de lier ScaleTransformation.X à slider.Value.Comment lier ScaleTransformation.X à curseur dans Silverlight 3

Je ne suis pas capable de faire la même chose dans Silverlight - quelques erreurs.

Est-il pris en charge dans SL3?

Merci.

+1

Pouvez-vous poster votre code et les erreurs que vous obtenez. Sans cela, il sera difficile pour quiconque d'offrir des conseils constructifs. – ChrisF

+0

http://forums.silverlight.net/forums/t/126889.aspx –

Répondre

0

La raison pour laquelle cela ne fonctionne pas est que dans SL3, la cible de liaison doit être FrameworkElement. (Cette restriction est levée dans SL4 mais cela n'aide pas pour le moment).

Cependant, la solution prend juste un peu de réflexion latérale (ou dans ce cas, la pensée vers l'arrière). L'objet source n'a pas besoin d'être un élément Framework. Donc, la réponse est inverser la liaison, c'est mettre la liaison sur la propriété SliderValue et le mettre en mode TwoWay.

<Border Width="200" Height="200"> 
    <Border.RenderTransform> 
     <ScaleTransform x:Name="TargetTransform" /> 
    </Border.RenderTransform> 
    <!-- Some Content Here --> 
</Border> 

<Slider Value="{Binding ScaleX, ElementName=TargetTransform, Mode=TwoWay}" 
    Width="200" Canvas.Top="250" 
    Minimum="0.1" Maximum="2.0" /> 
Questions connexes