Ho un file .png come contenuto della mia applicazione. Quando lo leghiamo in xaml in questo modoCome fare riferimento ai file di origine delle immagini che sono stati confezionati con la mia app in stile metro?
<ImageBrush x:Key="BtnBackImageBrush" ImageSource="/Assets/Images/back.png" />
tutto ok.
Ho letto this article e quando provo ad accedere a questo file .png a livello di codice ottengo un errore.
codice che utilizzo:
Uri baseUri = new Uri("ms:appx");
Image img = new Image();
img.Source = new BitmapImage(new Uri(baseUri, "/Assets/Images/back.png"));
img.ImageFailed += (sender, args) => new MessageDialog("Error").ShowAsync();
E la mia domanda è come fare riferimento a file di origine dell'immagine che sono confezionati con il mio metro stile app?
Grazie per i consigli.
UPDATE: Ho trovato la risposta! Abbiamo bisogno di impostare baseUri usando Parent FrameworkElement invece di impostarlo manualmente. Ad esempio:
// Usage
myImage.Source = ImageFromRelativePath(this, "relative_path_to_file_make_sure_build_set_to_content");
public static BitmapImage ImageFromRelativePath(FrameworkElement parent, string path)
{
var uri = new Uri(parent.BaseUri, path);
BitmapImage result = new BitmapImage();
result.UriSource = uri;
return result;
}
Grazie per questo article.
Dovrebbe essere ms-appx: /// notare il 3 / – ickydime