Ich habe ein Listenfeld mit einem Datamaplate für die Elemente. Das Problem ist, dass die Auswahl eines Artikels nicht funktioniert, indem Sie einfach irgendwo auf den Artikel klicken; Ich muss auf ein bestimmtes Unterelement klicken, damit es tatsächlich funktioniert.Listbox Datatemplate - Element nur wählbar durch Klicken auf ein Subelement, nicht nur irgendwo auf dem Artikel
Mein Artikel hat ein Bild und einen Textblock. Wenn ich die Maus über das Bild oder den Textblock halte, sehe ich tatsächlich den Hover-Effekt. Wenn ich mit der Maus über einen der "leeren" Bereiche des Objekts gehe, kein Hover-Effekt (und keine Auswahl, wenn ich dort klicke).
Beispiel Bild: http://i33.tinypic.com/wvtleg.png
Wenn ich auf klicken (oder schweben über) den eigentlichen Text oder das Bild, um es funktioniert gut, aber wenn ich meine Maus in die leeren Flächen schweben (I eine rote Linie gezeichnet haben drum herum :)) Die Listbox antwortet nicht.
Wie bekomme ich die Listbox, die schwebt/klickt, um auf irgendwo im Feld des Artikels zu reagieren?
Der Vollständigkeit halber hier ist meine Listbox + Vorlage:
<ListBox Grid.Row="1"
ItemsSource="{Binding Path=CreatableOutputWindows, Mode=OneWay}" Height="Auto"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
Margin="8,8,8,8"
Name="listBox1" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="84"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Margin="5" BorderBrush="Black" BorderThickness="2">
<Image Source="{Binding Path=Image}" Stretch="Fill" Width="80" Height="50" />
</Border>
<StackPanel Grid.Column="1" Margin="5">
<StackPanel Orientation="Horizontal" TextBlock.FontWeight="Bold">
<TextBlock Text="{Binding Path=Name}" />
</StackPanel>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Danke, das hat funktioniert. – Pygmy