Laden...

Wie kann ich allen Windows den gleichen Style mitgeben?

Erstellt von c#atriga vor 3 Jahren Letzter Beitrag vor 3 Jahren 371 Views
C
c#atriga Themenstarter:in
34 Beiträge seit 2018
vor 3 Jahren
Wie kann ich allen Windows den gleichen Style mitgeben?

In der Application Ressource wollte ich allen Windows die gleichen Styles mitgeben, doch schon beim Background scheitere ich.

<Application.Resources>
        <Style TargetType="Window">
            <Setter Property="Background" Value="GreenYellow"/>
        </Style>
    </Application.Resources>

Wo liegt mein Fehler? Der Code ist doch richtig?

Edit. Noch eine Frage.

Um Information (Version, Copyright, kurze Beschreibung was Tool macht) anzeigen zu lassen, ist es besser eine MessageBox zu nehmen, oder lieber ein neues Fenster erstellen?

5.657 Beiträge seit 2006
vor 3 Jahren

Du mußt schon den richtigen Typ verwenden, d.h. dein MainWindow:

<Style  TargetType="local:MainWindow">

Zu deiner zweiten Frage, bitte beachte [Hinweis] Wie poste ich richtig?, erstelle einen Thread pro Frage und gibt uns mehr Informationen, um die Frage zu beantworten. "Ist es besser" hängt von vielen Faktoren ab.

Weeks of programming can save you hours of planning

C
c#atriga Themenstarter:in
34 Beiträge seit 2018
vor 3 Jahren

OK, dann habe ich mein Problem anscheinend falsch beschrieben.

Habe zur Zeit, 1 MainWindow und ein weiteres Window was über das erste durch einen Button aufgerufen wird.

In der App.xml wollte ich in den Ressourcen festlegen, das alle Windows welches jemals in der App geöffnet werden, die gleiche Hintergrund Farbe haben werden.

4.931 Beiträge seit 2008
vor 3 Jahren

Das funktioniert bei Windows nicht, weil du ja jeweils davon abgeleitete Klassen erstellst (während es bei anderen UI-Controls so funktioniert, solange der Klassenname exakt übereinstimmt).
In den Styles kannst du aber auch BasedOn verwenden, um auf einen Basisstil zu verweisen (müßtest dann aber für jedes Window einen eigenen Style erstellen).

Alternativ ginge noch jeweils einen Key zu setzen (und verwenden) oder per Code den Style zu setzen, s. Why a window style couldn't apply to WPF windows automatically without x:Key property.