单击某些部件时无法选择ListView项

时间:2014-07-30 06:47:59

标签: wpf listview

我创建了一个ListView GridView,如下所示:

<ListView ItemsSource="{Binding Orders}" SelectedItem="{Binding SelectedOrder}">
            <ListView.Resources>
                <Style TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource {x:Type ListViewItem}}">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type ListViewItem}">
                                <Border BorderBrush="SteelBlue" BorderThickness="1" x:Name="Border" Padding="10">
                                    <GridViewRowPresenter />
                                </Border>
                                <ControlTemplate.Triggers>
                                    <Trigger Property="IsSelected" Value="True">
                                        <Setter TargetName="Border" Property="Background" Value="LightBlue"></Setter>
                                    </Trigger>
                                </ControlTemplate.Triggers>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </ListView.Resources>
            <ListView.View>
                <GridView d:DataContext="{d:DesignInstance entities:ExecReport}">
                    <GridViewColumn Header="Symbol" DisplayMemberBinding="{Binding Instrument.Symbol}" />
                    <GridViewColumn Header="Side" DisplayMemberBinding="{Binding Side}" />
                    <GridViewColumn Header="Price" DisplayMemberBinding="{Binding Price}" />
                    <GridViewColumn Header="Total Size" DisplayMemberBinding="{Binding Qty}" />
                    <GridViewColumn Header="Open Size" DisplayMemberBinding="{Binding OpenQty}" />
                    <GridViewColumn Header="Status" DisplayMemberBinding="{Binding State}" />
                    <GridViewColumn Header="Validity" DisplayMemberBinding="{Binding Validity}" />
                    <GridViewColumn Header="Order Seq" DisplayMemberBinding="{Binding OrderSeq}" />
                </GridView>
            </ListView.View>
        </ListView>

我可以在大多数地方点击它们来选择项目。但是,当我点击一些地方时,他们没有被选中。也未设置支持字段。如果我删除ListViewItem样式,则不会发生此问题。

下图指出了未选择项目的位置。

我该如何解决这个问题?

selection problem

1 个答案:

答案 0 :(得分:2)

将Border的Background属性(名为&#34; Border&#34;)设置为Transparent。由于没有背景的控件将被视为空心,因此可能无法进行命中测试。有关HitTesting的更多信息。