Ich versuche ein skaliertes Bild in einem ScrollViewer in meiner Windows Phone 7 Anwendung zu haben. Auf der Anwendungsseite definiere ich die Steuerelemente wie folgt aus:Teile des Bildes fehlen bei der Verwendung von ScaleTransform mit LayoutTransformer und Scrollviewer unter Windows Phone 7
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Name="ImageScroller" HorizontalAlignment="Center" VerticalAlignment="Center">
<layout:LayoutTransformer x:Name="LayoutTransformer">
<layout:LayoutTransformer.LayoutTransform>
<ScaleTransform x:Name="ImageScale"/>
</layout:LayoutTransformer.LayoutTransform>
<Image x:Name="Image" Margin="4" Source="{Binding ImageSource}" />
</layout:LayoutTransformer>
</ScrollViewer>
Die LayoutTransformer Klasse aus dem Silverlight-Erweiterung Projekt kommt.
Ich habe Methoden, um die ZoomIn und ZoomOut Ereignisse zu behandeln und ich folgendes da:
private void ApplicationBarIconButton_Click_1(object sender, EventArgs e)
{
// Zoom In
ImageScale.ScaleX = ImageScale.ScaleY = ImageScale.ScaleX + 0.5;
LayoutTransformer.ApplyLayoutTransform();
ImageScroller.InvalidateMeasure();
}
jedoch, wenn ich einen ZoomIn haben und das Bild geändert wird die Scrollsteuerung leeren Bereich am Boden hat und auf der rechten Seite des Bildes. Fast so, als ob das Bild skaliert wurde, aber abgeschnitten wurde, indem die Größe des Originalbildes vor der Maßstabsumwandlung verwendet wurde.
Irgendwelche Ideen, was ich falsch mache?
Ich habe auch ein Projekt, das dieses Problem reproduziert: http://dl.dropbox.com/u/2598447/ZoomTest.WP7.zip
Was ist das „Silverlight Extension“ Projekt? – AnthonyWJones
Silverlight Extension ist ein Open-Source-Projekt, das auf Codeplex gehostet wird. Hier ist die URL des Projekts: http://www.slextensions.net/ – gyurisc
Versuchen Sie stattdessen 'LayoutTransformer' von' Silverlight Toolkit' (http://silverlight.codeplex.com/). – decyclone