Suche…


Bemerkungen

Der Inhalt von Steuerelementen kann mithilfe von Ressourcendateien lokalisiert werden, genau wie dies in Klassen möglich ist. Für XAML gibt es eine bestimmte Syntax, die sich zwischen einer C # - und einer VB-Anwendung unterscheidet.

Die Schritte sind:

  • Für jedes WPF-Projekt: Machen Sie die Ressourcendatei öffentlich, der Standard ist "internal".
  • Verwenden Sie für C # WPF-Projekte die im Beispiel bereitgestellte XAML
  • Verwenden Sie für VB-WPF-Projekte die im Beispiel bereitgestellte XAML und ändern Sie die Eigenschaft Custom Tool in PublicVbMyResourcesResXFileCodeGenerator .
  • So wählen Sie die Resources.resx-Datei in einem VB-WPF-Projekt aus:
    • Wählen Sie das Projekt im Solution Explorer aus
    • Wählen Sie "Alle Dateien anzeigen".
    • Erweitern Sie Mein Projekt

XAML für VB

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:WpfApplication1"
    xmlns:my="clr-namespace:WpfApplication1.My.Resources"
    mc:Ignorable="d"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <StackPanel>
        <Label Content="{Binding Source={x:Static my:Resources.MainWindow_Label_Country}}" />
    </StackPanel>
</Grid>

Eigenschaften für die Ressourcendatei in VB

Standardmäßig ist die Eigenschaft des benutzerdefinierten Tools für eine VB-Ressourcendatei VbMyResourcesResXFileCodeGenerator . Mit diesem Codegenerator kann die Sicht (XAML) jedoch nicht auf die Ressourcen zugreifen. Um dieses Problem zu lösen, fügen Sie vor dem Eigenschaftenwert des benutzerdefinierten Tools Public hinzu.

So wählen Sie die Resources.resx-Datei in einem VB-WPF-Projekt aus:

  • Wählen Sie das Projekt im Solution Explorer aus
  • Wählen Sie "Alle Dateien anzeigen".
  • Erweitern Sie "Mein Projekt"

Geben Sie hier die Bildbeschreibung ein

XAML für C #

<Window x:Class="WpfApplication2.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:WpfApplication2"
    xmlns:resx="clr-namespace:WpfApplication2.Properties"
    mc:Ignorable="d"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <StackPanel>
        <Label Content="{Binding Source={x:Static resx:Resources.MainWindow_Label_Country}}"/>
    </StackPanel>
</Grid>

Machen Sie die Ressourcen öffentlich

Öffnen Sie die Ressourcendatei mit einem Doppelklick. Ändern Sie den Zugriffsmodifizierer in "Public". Geben Sie hier die Bildbeschreibung ein



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow