Ich habe eine Klasse in meiner Anwendung mit drei Eigenschaften GroupName
, ItemName
und Data
. Ich habe eine ListView
, um eine Sammlung dieser Klassen von GroupName
zu gruppieren und ihre ItemName
Eigenschaft in einem Textfeld anzuzeigen. Das Problem ist, dass die Gruppen korrekt angezeigt werden, wenn ich den Code ausführe, aber keiner von ihnen zeigt Mitglieder an. HierWarum sind Gruppen in WPF ListView leer?
ist der XAML-Code:
<ListView x:Name="MyList">
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Expander IsExpanded="True">
<Expander.Header>
<TextBlock FontWeight="Bold" Text="{Binding Name}"/>
</Expander.Header>
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ListView.GroupStyle>
<ListView.ItemTemplate>
<DataTemplate DataType="{x:Type testProgram:MyClass}">
<TextBlock Text="{Binding ItemName}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Und hier ist der Code hinter:
public partial class MyListView
{
public MyListView(ObservableCollection<MyClass> items)
{
InitializeComponent();
Items = items;
var v = CollectionViewSource.GetDefaultView(Items);
v.GroupDescriptions.Add(new PropertyGroupDescription("GroupName"));
MyList.ItemsSource = v;
}
public ObservableCollection<MyClass> Items { get; set; }
}
Wenn ich die <ListView.GroupStyle>...
entfernen und setzen MyList.ItemsSource = Items;
dann alles richtig erscheint. Ich vermute, dass das Problem zwischen ItemsSource = v
, DataType = "{x:Type testProgram:MyClass}"
und {Binding ItemName}
ist, aber ich weiß nicht, was bricht oder wie es zu beheben ist.
, dass es war. Vielen Dank! – Kevlarz