2016-05-13 29 views
5

Sto sviluppando la mia prima app UWP per Windows 10. Ho un'immagine Questo è il suo codice XAML:Come posso modificare image.source con C# durante la creazione di un'app UWP?

<Image x:Name="image" 
       HorizontalAlignment="Left" 
       Height="50" 
       Margin="280,0,0,25" 
       VerticalAlignment="Bottom" 
       Width="50" 
       Source="Assets/Five.png"/> 

E nel tentativo di cambiare image.source con questo codice:

 private void slider_ValueChanged(object sender, RangeBaseValueChangedEventArgs e) 
    { 
     BitmapImage One = new BitmapImage(new Uri(@"Assets/One.png")); 
     BitmapImage Two = new BitmapImage(new Uri(@"Assets/Two.png")); 
     BitmapImage Three = new BitmapImage(new Uri(@"Assets/Three.png")); 
     BitmapImage Four = new BitmapImage(new Uri(@"Assets/Four.png")); 
     BitmapImage Five = new BitmapImage(new Uri(@"Assets/Five.png")); 

     if (slider.Value == 1) 
     { 
      image.Source = One; 
     } 
     else if (slider.Value == 2) 
     { 
      image.Source = Two; 
     } 
     else if (slider.Value == 3) 
     { 
      image.Source = Three; 
     } 
     else if (slider.Value == 4) 
     { 
      image.Source = Four; 
     } 
     else if (slider.Value == 5) 
     { 
      image.Source = Five; 
     } 
    } 

Ma quando compilo il codice ottengo questo errore indicando la dichiarazione di variabile:

UriFormatException è stata gestita dal codice utente

risposta

0

È necessario specificare il parametro UriKind aggiuntivo per ciascuno degli oggetti URI, in modo che siano definiti come Relativo ad es. API

new Uri("Assets/One.png", UriKind.Relative) 
+0

Ciao, grazie per l'aiuto. Ciò tuttavia ha causato che ArgumentsException non è stato gestito dal codice utente. Qualche idea? Grazie –

+1

Dai un'occhiata a questa domanda simile: [collegamento] (http://stackoverflow.com/questions/32314799/uwp-image-uri-in-application-folder) – RobertoB

+0

Ciao, non era davvero di grande utilità. Grazie comunque. –

3

di Windows Runtime non supportano gli URI di tipo UriKind.Relative, quindi in genere si utilizza la firma che deduce la UriKind e assicurarsi di aver specificato un assoluto URI valido compreso lo schema e autorità.

Per accedere ai file memorizzati all'interno del pacchetto di applicazioni, ma dal codice in cui non v'è alcuna autorità principale dedotto, specificare il ms-appx: schema come segue:

BitmapImage One = new BitmapImage(new Uri("ms-appx:///Assets/One.png")); 

Per ulteriori informazioni, si prega di vedi How to load file resources (XAML) e URI schemes.