2017-08-31 72 views
1

我使用列表框顯示多個項目。 這些項目被分組。現在我想編輯標題樣式,但唯一發生的是文本不再顯示。C#WPF列表框組標題樣式

這就是我的XAML:

<ListBox x:Name="lbTreatments" HorizontalAlignment="Left" Height="473" Margin="10,37,0,0" VerticalAlignment="Top" Width="309" FontSize="13"> 
        <ListBox.GroupStyle> 
         <GroupStyle> 
          <GroupStyle.HeaderTemplate> 
           <DataTemplate> 
            <TextBlock Text="{Binding subcategoryName}" FontWeight="Bold"/> 
           </DataTemplate> 
          </GroupStyle.HeaderTemplate> 
         </GroupStyle> 
        </ListBox.GroupStyle> 
        <ListBox.ItemTemplate> 
         <DataTemplate> 
          <TextBlock Text="{Binding name}"/> 
         </DataTemplate> 
        </ListBox.ItemTemplate> 
       </ListBox> 

而這就是我的代碼組的項目:

ICollectionView view = CollectionViewSource.GetDefaultView(treatmentsCategory); 
      view.GroupDescriptions.Add(new PropertyGroupDescription("subcategoryName")); 
      view.SortDescriptions.Add(new SortDescription("subcategoryName", ListSortDirection.Ascending)); 
      lbTreatments.ItemsSource = view; 

的項目進行分組,但標題文本丟失。如果我從xaml中刪除Groupstyle,則會顯示文本。請問anybode能幫助我嗎?

+2

使用'Name'作爲您的組頭XAML。即'' – XAMlMAX

+0

確定其工作,謝謝。 但爲什麼叫? –

回答

0

MSDN說:

每個組的類型是CollectionViewGroup的。

由於subcategoryName是沒有CollectionViewGroup的屬性,你必須使用Name財產

<TextBlock Text="{Binding Name}"/> 

在你的頭模板來獲得組名稱。

+0

有沒有方法在名稱之前向輸出添加換行符? –

+0

有點像''? – Fruchtzwerg

+0

這就是它,謝謝 –