我有以下ListBox和ItemTemplate
<ListBox SelectionMode="Multiple" ItemsSource="{Binding MyItems}" DisplayMemberPath="Name">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid VerticalAlignment="Stretch" Height="{Binding ActualHeight, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}">
<ContentControl VerticalAlignment="Center" VerticalContentAlignment="Center" Content="{Binding}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这显示一切都很好,但ContentControl上的命中测试不正确...如果我点击“实际”内容的上方或下方(如果项目的高度高于ContentControl,则该项目不是没被选中。
如果我将ControlControl VerticalAlignment更改为Stretch,则可以解决问题并且所有点击都会正确突出显示项目......但是我的内容在每个项目中都是顶部对齐的...
如何才能正确选择项目?
答案 0 :(得分:3)
以Grid
点击测试为例
<Grid Background="Transparent" ...>