Ich habe nach einer Antwort auf diese Suche, aber die potenziellen Duplikate sind mehr mit Präsentation als Interaktion.Stretch ListBox Elemente treffen Bereich auf volle Breite der ListBox? ListBox-Stil ist implizit durch ein Thema gesetzt
Ich habe ein einfaches Listenfeld, und der Inhalt jedes Elements ist eine einfache Zeichenfolge.
Die ListBox selbst wird gestreckt, um den Gittercontainer zu füllen, aber das Hitlistenfeld von ListBoxItem spiegelt nicht die ListBox-Breite wider. Es sieht so aus, als ob die Hitarea (Pointer-Kontaktfläche) für jedes Element nur die Breite des Textinhalts ist. Wie mache ich diese Strecke quer durch den ganzen Weg, unabhängig von der Textgröße.
Ich habe HorizontalContentAlignment auf Stretch festgelegt, aber das löst mein Problem nicht. Meine einzige andere Vermutung ist, dass der Inhalt sich tatsächlich ausdehnt, aber der Hintergrund unsichtbar ist und den Mauszeiger nicht erfasst.
<ListBox
Grid.Row="1"
x:Name="ProjectsListBox"
DisplayMemberPath="Name"
ItemsSource="{Binding Path=Projects}"
SelectedItem="{Binding Path=SelectedProject}"
HorizontalContentAlignment="Stretch"/>
Das XAML ist ziemlich direkt auf diesem. Wenn ich den Mauszeiger über den Text in einem der Elemente bewege, wird die gesamte Breite des Objekts aktiviert. Ich denke, ich muss nur wissen, wie man einen interaktiven Hintergrund erstellt, der unsichtbar ist.
Bitte posten Sie Ihre XAML. – Zamboni