ListBox ItemTemplate命中测试

时间:2012-08-23 20:45:48

标签: wpf mvvm

我有以下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,则可以解决问题并且所有点击都会正确突出显示项目......但是我的内容在每个项目中都是顶部对齐的...

如何才能正确选择项目?

1 个答案:

答案 0 :(得分:3)

Grid点击测试为例

<Grid Background="Transparent" ...>