禁用列表视图中的蓝色选择项

时间:2014-02-04 10:59:41

标签: wpf xaml

我正在使用以下代码,我希望在禁用时禁用蓝色标记 用户使用光标悬停列表,我该怎么做?
我尝试了资源 代码没有成功。

我无法将其更改为列表框...(因为我有列我猜)

        <ListView x:Name="listView" ItemsSource="{Binding Dispaly}" Height="250" 
                      ScrollViewer.HorizontalScrollBarVisibility="Disabled"  FontFamily="Calibri">
            <ListView.View>
                <GridView>
                    <GridViewColumn DisplayMemberBinding="{Binding Key}" Header="{x:Static res:Resources.AB}"   Width="150" />
                    <GridViewColumn DisplayMemberBinding="{Binding Value}" Header="{x:Static res:Resources.CC}" Width="150"/>
                </GridView>
            </ListView.View>
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="BorderThickness" Value="0 0 0 1"/>
                    <Setter Property="BorderBrush" Value="AntiqueWhite"/>

                </Style>
            </ListView.ItemContainerStyle>

            <ListView.Resources>
                <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent" />
                <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black" />
                <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" />
            </ListView.Resources>

        </ListView>

3 个答案:

答案 0 :(得分:0)

您可以编辑ListView控件模板并从控件模板中删除IsSelected触发器。

http://msdn.microsoft.com/en-us/library/ms788717.aspx

答案 1 :(得分:0)

这是如何编辑ListViewItem控件模板的示例。在按钮中插入任何你想要的东西

        <ListView.Resources>
            <Style TargetType="{x:Type ListViewItem}">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type ListViewItem}">
                            <Button Background="Transparent" Foreground="White"  FontSize="16" FontWeight="Light">
                                <Button.Content>
                                    <GridViewRowPresenter Content="{TemplateBinding Content}" />
                                </Button.Content>
                            </Button>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </ListView.Resources>

您还可以尝试编辑listView的样式。为属性IsSelected添加触发器并在Trigger的Setter中设置listviewitem的背景

答案 2 :(得分:0)

你只需要在没有setter的情况下为listviewitem的风格添加触发器IsMouseOver。

  <ListView>
    <ListView.ItemContainerStyle>
            <Style>
               <Style.Triggers>
                  <Trigger Property="IsMouseOver" Value="True">
                  </Trigger>
               </Style.Triggers>
            </Style>
         </ListView.ItemContainerStyle>
    </ListView>