[WPF] Ressourcen über CodeBehind setzen

Wenn man unter WPF entwickelt, wird man öfters über die Ressourcenzuweisung unter XAML gestoßen sein, die man einfach über die MarkupExtension StaticResource oder DynamichResource setzt.

<Button Name="btnSubmit" Content="Abschicken" Click="btnSubmit_Click" Background="{StaticResource hintergrund}" />

Aber was ist wenn man dies in der CodeBehind setzen möchte? In diesem Fall sollte man die Methode SetResourceReference nutzen.

<Window.Resources>
    <SolidColorBrush x:Key="hintergrund" Color="Red" />
</Window.Resources>

<Button Name="btnCancel" Content="Abbrechen" Click="btnCancelButton_Click" />

this.btnCancel.SetResourceReference(BackgroundProperty, "hintergrund");

Wie man sieht, ist es relativ einfach, die definierte Ressource im CodeBehind zu setzen.

PS:
Mein SyntaxHighlighter spinnt bissel, deswegen sieht der Sourcecode so zerstückelt aus, nehmts mir nicht böse 🙂

2 Reaktionen zu “[WPF] Ressourcen über CodeBehind setzen”

  1. Mario

    „PS:
    Mein SyntaxHighlighter spinnt bissel, deswegen sieht der Sourcecode so zerstückelt aus, nehmts mir nicht böse“

    Schau mal in deine style.css Zeile ~251
    .post {
    text-align: justify;
    }

    Wenn du die Blockschrift in linksbündig änderst, sollte alles wieder schick sein ; )
    .post {
    text-align: left;
    }

  2. p. schulz

    Hi,
    möchte darum bitten mir doch zu schreiben, woher „BackgroundProperty“ kommt. WIe kann ich wissen, dass dies die Bezeichnung an der Stelle ist.

    In diesem Beispiel ist es zwar sehr naheliegend, es öffnen sich nur zwei Optionen, aber wenn die Resource anders aussieht wüsst ich nicht was es sein soll

    beste Grüsse P. Schulz

Einen Kommentar schreiben