Datenbindung für WPF: Statische Ressourcen

Statische Ressourcen werden in der Ressourcen-Tabelle hinzugefügt und hinterlegt. Hierfür müssen wir die Eigenschaften des Projekts öffnen. In der Registerkarte „Ressourcen“ können wir nun unsere angelegten Ressourcen editieren oder neue hinzufügen. Statische Ressourcen werden zur Kompilierungszeit fest im Programm hinterlegt und können somit zur Laufzeit nicht verändert werden. Sie erlauben eine zentrale Verwaltung von Text und Bildern.
Um auf eine statische Ressource im XAML-Dokument zuzugreifen, benötigen wir das Schlüsselwort Static vom XAML-Namensraum. Davor müssen wir noch einen XML-Namensraum für unsere Ressourcen-Namensraum des Projekts festlegen (z. B. MeinProjekt.Properties). Nun können wir nach dem Schlüsselwort Static über die Klasse Resources des Ressourcen-Namensraums und den Namen unserer Ressource auf eine unserer definierten statischen Ressourcen zugreifen. Das Beispiel sollte diesen etwas theoretischen Text etwas verdeutlichen.
Falls Sie sich fragen, woher der Namensraum *.Properties und die Klasse *.Resources herkommen, dann schauen Sie sich mal die Dateien Resources.resx und Resources.Designer.cs im Ordner Properties an. Beide Dateien werden automatisch durch Visual Studio verwaltet.

DatenQuelle.cs

namespace CSV20.Ressourcen_Steuerelemente
{
    public class DatenQuelle
    {
        public string sInhalt { get; set; }

        public DatenQuelle(string sInhalt)
        {
            this.sInhalt = sInhalt;
        }
    }
}

MainWindow.xaml
<ComboBox VerticalAlignment="Top" HorizontalAlignment="Left" Width="100" Margin="10,10,0,0" Name="comboBoxAuswahl" SelectedIndex="0">
	<ComboBoxItem Content="Auswahl A" />
	<ComboBoxItem Content="Auswahl B" />
	<ComboBoxItem Content="Auswahl C" />
	<ComboBoxItem Content="Auswahl D" />
	<ComboBoxItem Content="Auswahl E" />
</ComboBox>
<Label VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,50,0,0" FontWeight="Bold" Content="Ihre Auswahl:" />
<Label VerticalAlignment="Top" HorizontalAlignment="Left" Margin="120,50,0,0" Content="{Binding ElementName=comboBoxAuswahl, Path=SelectedItem.Content}" />
<Label VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,80,0,0" FontWeight="Bold" Content="Ihre Texteingabe: " />
<TextBox VerticalAlignment="Top" HorizontalAlignment="Left" Margin="120,85,0,0" Width="100" Text="{Binding Path=sInhalt, Mode=TwoWay}" />

MainWindow.xaml.cs
public MainWindow()
{
	InitializeComponent();
	this.DataContext = new DatenQuelle("Hallo Welt");
}
Download

LinksRechts