2009-05-12 5 views
0

Ich muss mein Silverlight-Framework erstellen, das alle folgenden Features über Ressourcen enthält.Was ist die beste Idee, um Ressourcen in Silverlight zu verwalten?

  1. Teilladung. So kann ich nicht Beispiel-Ressource-Datei (*. Resx) verwenden.
  2. Stark typisierte Ressourcendatei. Weil es sehr einfach zu debuggen ist.
  3. Einfach mit Beispieltexteditor zu bearbeiten. Weil Sie nicht einige komplexe Editor wie Visual Studio im Web-Server verwenden können.
  4. Einfach fehlende Ressourcen zu erkennen.

Hint

Mein Rahmen auf mit Projekt Visual Studio Integration Package integriert ist. So kann ich die meisten Visual Studio-Funktionen wie Editor, Toolbox, Menü ändern.

Update # 1

Wenn es unmöglich ist, also werde ich einige Ressourcen bearbeiten auf Web-Server erstellen, um diese Ressource zu verwalten.

Danke,

Antwort

1

Ich bin mir nicht sicher, was Sie eher vage war zu tun, wie Ihre Frage versuchen, aber ich kann etwas Licht auf, wie die Ressourcen Schuppen auf der Silverlight-Plattform verwaltet werden.

Silverlight-Ressourcen können in jedem XAML eingebettet werden, da alle visuellen Elemente über ein ResourceDictionary verfügen, auf das über die Resources-Eigenschaft zugegriffen werden kann.

<Grid> 
    <Grid.Resources>   

     <DataTemplate x:Key="MyTemplate"> 
     </DataTemplate> 

    </Grid.Resources> 
</Grid> 

Es ist jedoch die beste Vorgehensweise, spezielle XAML-Dateien namens "Resource Dictionaries" zu verwenden.

<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > 

    <DataTemplate x:Key="MyTemplate"> 
    </DataTemplate> 

</ResourceDictionary> 

Silverlight 3, ermöglicht die automatische Zusammenführung dieser Ressourcenwörterbücher in das Hauptressourcenverzeichnis der Anwendung.

<Application.Resources> 
    <ResourceDictionary> 

     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Resources/A.xaml"/> 
      <ResourceDictionary Source="Resources/B.xaml"/> 
      <ResourceDictionary Source="Resources/C.xaml"/> 
     <ResourceDictionary.MergedDictionaries> 
    <ResourceDictionary> 
<Application.Resources> 

Um eine Ressourcenverzeichnis mit Ihrer Anwendung Ressourcen, die Ressourcen Wörterbücher befinden müssen fusionieren im Druck XAP-Paket, das verwendet wird, um Silverlight-Anwendungen bis auf den Client bereitstellen. Wenn Sie jedoch möchten, können Sie die XAML-Ressourcendatierungen auf dem Webserver speichern und sie in Ihre Silverlight-Anwendung laden, indem Sie WebClient zum Herunterladen der Datei verwenden, und dann mit XamlReader das Objektmodell im Speicher des XAML erstellen Zeichenfolge, die Sie aus der Datei abrufen.

Ressourcenwörterbücher sind von Natur aus stark typisiert, aber nicht typsicher. In diesem Fall erhalten Sie keinen Fehler bei der Kompilierung, wenn Sie ein falsch eingegebenes Element in XAML haben. Wenn in einer Ihrer Ressourcen ein Fehler auftritt, werden Sie dies nur feststellen, wenn ein Verweis darauf initialisiert wird und die Rendering-Engine versucht, Ihre Ressource zu instanziieren.

Also kurz gesagt:

  1. Ja.
  2. Ja.
  3. Ja.
+0

Danke. Was ist ein Ressourcentyp, der in der Resource Dictionaries-Datei enthalten sein kann? Ich denke, es ist nur Stylesheet oder relative URI. Diese Idee wie die Verwendung einfacher Ressourcendatei (*. Resx). –

+0

Jeder Typ kann in XAML gespeichert werden. Einige sind einfacher als andere in XAML darzustellen als andere. Wenn Sie Binärdateien einbetten möchten, fügen Sie sie einfach zum Projekt hinzu und markieren sie als Ressourcen, damit sie in die Assembly kompiliert werden. – markti

Verwandte Themen