Je suis en train de supprimer le code XAML de mon projet Silverlight et de le faire utiliser uniquement du code (selon this article).Silverlight sans XAML fait échouer les URI source?
Voici mon événement de démarrage très simple pour une application Silverlight (avec le App.xaml standard à partir du modèle de projet):
private void Application_Startup(object sender, StartupEventArgs e)
{
Grid grid = new MainPage();
this.RootVisual = grid;
var mediaElement = new MediaElement();
mediaElement.MediaFailed += (s, ea) => { mediaFailed = true; };
mediaElement.Source = new Uri(@"/Content/Some Music.mp3", UriKind.Relative);
grid.Children.Add(mediaElement);
}
Lorsque le fichier MP3 est réglé sur « Build Action: Aucune, Copier si plus récent "(ie: c'est à côté du XAP). Voici le XAML pour MainPage:
<Grid x:Class="TestGame.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
</Grid>
Et le C# - rien d'inhabituel ici du tout.
public partial class MainPage : Grid
{
public MainPage()
{
InitializeComponent();
}
}
Tout cela fonctionne jusqu'à maintenant. Donc, ma question est la suivante: pourquoi est-ce que quand je change
Grid grid = new MainPage();
à
Grid grid = new Grid();
l'événement mediaElement.MediaFailed
est appelé (avec un AG_E_NETWORK_ERROR)?
La seule chose intéressante que fait InitializeComponent
appelle Application.LoadComponent
(c'est le code généré par défaut). Alors, que pourrait faire cette fonction qui permet aux URI source de fonctionner? Il semble que Application.GetResourceStream
fonctionne encore très bien. Mais je dois pouvoir obtenir quelques ressources externes au XAP.
(Note:. Il semble this guy est d'avoir le même problème - mais personne n'a répondu à sa question)
Je ne suis pas capable de reproduire ce problème, où se trouve le dossier "Content" relatif au dossier "ClientBin" contenant le Xap? Est-ce que l'enfant ou un frère ou une soeur? – AnthonyWJones
@Anthony: Je n'ai pas de dossier ClientBin - c'est un projet autonome exécuté à partir du système de fichiers. Le dossier Content est un frère ou une sœur du XAP. –