WPF ContentControl und Background



  • Hallo zusammen.

    Habe mir ein ContentControl erstellt und wollte den Hintergrund färben.

    Hier mein Code:

    <Window x:Class="WpfApplication3.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <ContentControl Background="Blue">
    
        </ContentControl>
    </Window>
    

    Der Hintergrund ändert sich aber nicht. Wieso das denn? Habe ich was falsch gemacht. Oder muss man da was zusätlich einstellen?



  • Hi,

    ein ContentControl hat laut MSDN Artikel nur einen eingeschränkten Standardstil, du musst das Template erweitern, wenn du etwas derartiges erreichen möchtest:

    <ContentControl>
            <ContentControl.Template>
                <ControlTemplate TargetType="{x:Type ContentControl}">
                    <Grid Background="Blue">
                        <ContentPresenter ></ContentPresenter>
                    </Grid>
                </ControlTemplate>
            </ContentControl.Template>
        </ContentControl>
    

    Siehe Hinweise

    mfg
    KaPtainCugel



  • Hallo. Danke für deine Antwort.

    Ein ContentControl hat laut MSDN Artikel nur einen eingeschränkten Standardstil,

    Wo steht das. Habe ich nirgends im MSDN Artikel gefunden.

    Aber das ContentControl hat doch die Eigenschaft Background. Dann muss man die doch auch setzen können. Oder für was ist das sonst da?

    Bei einem ItemsControl geht es übrigens. Ergibt für mich keinen Sinn.



  • Das steht unter den Hinweisen:

    Ein ContentControl weist einen beschränkten Standardstil auf.Wenn Sie die Darstellung des Steuerelements erweitern möchten, können Sie ein neues DataTemplate erstellen.Weitere Informationen finden Sie unter Übersicht über Datenvorlagen.Ein weiteres typisches Szenario umfasst die Verwendung des ContentControl, um weitere Informationen zu einem Element anzuzeigen, das in einem ItemsControl-Steuerelement ausgewählt ist.Weitere Informationen finden Sie unter Gewusst wie: Binden an eine Auflistung und Anzeigen von Informationen auf Grundlage der Auswahl.

    Warum das so ist, kann ich dir allerdings auch nicht sagen, ich war selbst verwundert und habe ein wenig rumprobiert.



  • Ok das hatte ich irgendwie überlesen. Meiner Meinung nach ist das ein Bug.



  • Auf die Schnelle aus einem Phone-Programm (WP7) kopiert:

    <!--ContentPanel - zusätzliche Inhalte hier platzieren-->
     <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,10,0" Background="DarkBlue" >
    

    Damit läuft das einwandfrei. Sollte bei dir auch nicht viel anders sein.



  • @berniebutt:

    Wo bitte ist in deinem Code das ContentControl ???


Anmelden zum Antworten