Seltsames Verhalten WPF-TreeView ItemContainerStyle und ItemTemplate

Mir fiel nur gerade ein seltsames Verhalten von WPF-TreeView. Ich habe sowohl ItemContainerStyle zu binden "IsSelected" von meinem ViewModel und ein ItemsTemplated für benutzerdefinierte Anzeige meiner Daten. Aber jetzt kann der Benutzer nicht ändern Sie den ausgewählten Knoten mehr. Für Testzwecke erstellte ich eine ähnliche Benutzeroberfläche mit ListView und Expander. Diese version funktioniert als genehmigt. Irgendwelche Tipps warum TreeView nicht?

 <TreeView ItemsSource="{Binding ElementName=frame, Path=list}">
        <TreeView.ItemContainerStyle>
            <Style TargetType="{x:Type TreeViewItem}" >
                <Setter Property="IsSelected" Value="{Binding Mode=TwoWay, Path=IsSelected}"/>
            </Style>
        </TreeView.ItemContainerStyle>
        <TreeView.ItemTemplate>
            <HierarchicalDataTemplate>
                <TreeViewItem Header="{Binding}">
                    <TextBlock Text="{Binding Path= Item.SomeData}"/>
                </TreeViewItem>
            </HierarchicalDataTemplate>
        </TreeView.ItemTemplate>
    </TreeView>

EDIT: Meine Daten sind nicht hierarchische. Ich will einfach nur, um den "Zusammenbruch" - Funktion auf der Anzeige eine Liste. Element.SomeData ist keine Liste. Anzeige der Daten ist, wie gewünscht. Nur die Auswahl per Maus nicht!

alt-text http://img682.imageshack.us/img682/3702/bildy.png

  • Was in meiner Antwort nicht für Sie arbeiten? Oder hast du dein problem gelöst schon?
  • Sie legte einige Mühe in deine Antwort. Aber es ist nicht wirklich die Lösung meines Problems. Ich bearbeitet meine Frage, um mein problem besser verständlich.
InformationsquelleAutor Matze | 2010-04-12
Schreibe einen Kommentar