Autor Beitrag
dennisr35
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 25.03.17 19:39 
Ich würde gern ein ResourceDictionary aus externer Datei laden, und nicht in die EXE einbetten. Wie geht das?

Meine App.xaml:
ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/strings.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>

Die Strings aus der ResourceDictionary lade ich über z.B: {StaticResource MainWindow_Title}

Muss ich dafür auf DynamicResource umstellen?

Das strings.xaml Resource Dictionary hat im Projekt folgende Eigenschaften (falls das wichtig ist):
Benutzerdefiniertes Tool: MSBuild:Compile
BuildVorgang: Page
In Ausgabeverzeichnis kopieren: Nicht kopieren

Moderiert von user profile iconTh69: XML-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: So 26.03.17 09:33 
Hallo und :welcome:,

was ist denn der Fehler? Kompilieren tut es, aber die Werte werden nicht angezeigt (Binding-Error)?

Aus externer Source einbinden, heißt aber trotzdem, daß die Daten in die EXE einkompiliert werden, nur daß die Resource-Daten eben in einer externen XAML-Datei stehen.
Um zur Laufzeit Resourcen zu laden s. Load Resource Dictionaries at Runtime in WPF - und dann mußt du selbstverständlich DynamicResource verwenden.