70 messaggi dal 21 agosto 2011
come si fa a ruotare un'immagine in silverlight, ma non da xaml , grazie :) (ho letto di planeprojection ma non so come si usa)
Modificato da Wes il 07 ottobre 2011 15.22 -
2.190 messaggi dal 04 marzo 2004
Contributi | Blog
Ciao,
nel markup del tuo oggetto dovresti prevedere un transformer:
<Rectangle x:Name="r1" 
  Fill="Red" 
  RenderTransformOrigin="0.5,0.5" 
  Width="100" 
  Height="100">
  <Rectangle.RenderTransform>
    <CompositeTransform />
  </Rectangle.RenderTransform>
</Rectangle>

in modo che nel codice tu possa accedere alla proprietà e modificarla:
var tr = r1.RenderTransform as CompositeTransform;
tr.Rotation = 30;

Buon divertimento! :)

Alessio Leoncini (WinRTItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer
70 messaggi dal 21 agosto 2011
non riesco a convertire il codice c# in vb.net
Per convertire il codice puoi usare dei tool ne esistono tanti online io uso questo http://converter.telerik.com/
Dim tr = TryCast(r1.RenderTransform, CompositeTransform)
tr.Rotation = 30

Modificato da Gianluca.Cucco il 08 ottobre 2011 09.13 -

MCTS: Silverlight 4, Development
70 messaggi dal 21 agosto 2011
Imports System.Device.Location
Partial Public Class MainPage
    Inherits PhoneApplicationPage
    Dim Timer As System.Windows.Threading.DispatcherTimer = New System.Windows.Threading.DispatcherTimer
    ' Constructor
    Public Sub New()
        InitializeComponent()
        Dim watcher As New GeoCoordinateWatcher
        Timer.Interval = New TimeSpan(0, 0, 0.1)
        AddHandler Timer.Tick, AddressOf Me.AzionaTimer
        AddHandler watcher.PositionChanged, AddressOf Me.watcher_PositionChanged
    End Sub

    Public Sub watcher_PositionChanged()
        Dim watcher As New GeoCoordinate
        Button1.Content = watcher.Course
        Ruota(watcher.Course)
    End Sub
   
 Public Sub AzionaTimer()
        Dim watcher As New GeoCoordinate
        Ruota(watcher.Course)
    End Sub
    
Public Sub Ruota(ByVal gradi)
        If Image1.Projection Is Nothing Then
            Dim planeProjection As New PlaneProjection()
            planeProjection.RotationZ = gradi
            Image1.Projection = planeProjection
        End If
    End Sub

    Private Sub PhoneApplicationPage_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
        Try
            Dim watcher As New GeoCoordinate
            Dim ruotaZ As Double = watcher.Course
            If Image1.Projection Is Nothing Then
                Dim planeProjection As New PlaneProjection()
                planeProjection.RotationZ = ruotaZ
                Image1.Projection = planeProjection
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try

    End Sub
End Class

Perchè non va , mi dice che watcher.course non è un parametro corretto.
mmmh secondo me stai usando l'approccio sbagliato... io fare un binding diretto alla transform che gestisce l'angolatura dell'immagine :)

MCTS: Silverlight 4, Development
41 messaggi dal 14 ottobre 2010
probabilmente il valore di watcher.Course non è valido quando lo assegni a RotationZ, hai controllato a debug time che valore assume quando ti da l'errore?

Il libro su Silverlight in italiano:
Silverlight 4 - Guida Alla Programmazione
70 messaggi dal 21 agosto 2011
ho fatto la messagebox di watcher.course è mi dice "non un numero reale"
(watcher è la variabile geocordinate)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.