2013-04-04 14 views
14

Formumda, üstbilgi metni Bold olmalıdır, formumda GroupBox kaybettim. Tek bir GroupBox için bunu yapmak için biliyorum:GroupBox başlığı için stil nasıl kullanılır?

<GroupBox> 
    <GroupBox.Header> 
     <TextBlock Text="HEADER TEXT" FontWeight="Bold"/> 
    </GroupBox.Header> 
</GroupBox> 

Ama Styles ile nasıl yapılacağını bilmek ilgileniyorum. İşte ben denedim ne:

<Style TargetType="GroupBox"> 
    <Setter Property="BorderBrush" Value="{StaticResource lightBlueBrush}"/> 
    <Setter Property="Margin" Value="25,1,5,5"/> 
    //<Setter ?? 
</Style> 

Basit DataTemplate olduğunu Ama VS aniden kapandı Hangi myTemp<Setter Property="HeaderTemplate" Value={StaticResource myTemp}> denedi! Bunu yapmanın doğru yolu olup olmadığından emin değilim, bu yüzden herkes bana yardım edebilir mi?

DÜZENLEME: Lütfen fikrinizi bir cevap olarak göndermeden önce test edin!

+2

LOL * Lütfen bir yanıt olarak göndermeden önce fikrinizi sınayın! * - Size yardımcı olabilmemiz için lütfen bize bilgileri verin. * Bir istisna atmak * yeterli değildir. En azından istisnanın içeriği size neyin yanlış olduğunu söylemek için gerekli olacaktır. – DHN

cevap

24

Aşağıdakileri denediniz mi?

<Style TargetType="GroupBox"> 
    <Setter Property="BorderBrush" Value="{StaticResource lightBlueBrush}"/> 
    <Setter Property="Margin" Value="25,1,5,5"/> 
    <Setter Property="HeaderTemplate"> 
     <Setter.Value> 
      <DataTemplate> 
       <TextBlock Text="{Binding}" FontWeight="Bold"/> 
      </DataTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

Kullanım:

<GroupBox Header="Title" /> 
+1

Evet, böyle bir şey denedim, Ama tasarımcı istisna atar –

+0

Ne yazdım denediniz mi? Ve tasarımcı ne tür bir istisnadır? – DHN

+0

Çözümünüzü değiştirdiniz mi? Denedim ve bu sefer çalışıyor. Teşekkür ederim. –

1

bir HeaderTemplate DataTemplate türüdür groupboxs. Bu nedenle stil veya şablona sahip olmayan bir veri nesnesi sağlamalısınız. Bir tanesini deneyin.

<Window.Resources> 

     <DataTemplate x:Key="DataTemplate1"> 
      <TextBlock Text="Test Templated Header"/> 
     </DataTemplate> 

    </Window.Resources> 
    <Grid> 
     <GroupBox Header="Test Header" HeaderTemplate="{StaticResource DataTemplate1}"> 
      <Border BorderBrush="Red" Margin="10"> 
       <TextBlock Text="Hello"/> 
      </Border> 
     </GroupBox> 
    </Grid> 
+1

Bu yüzden GroupBox'ın başlığı "Test Başlığı" veya "Test Templated Header" –

+0

Bunu denedim, çalışmıyorum (başlık metni ile ilgili problem). –

+0

Benim için iyi çalışıyor – ghord