0

我想在 ListView 获得焦点时更改它的边框颜色。我用这种风格

<Style TargetType="ListView">
<Setter Property="Template">
   <Setter.Value>
      <ControlTemplate TargetType="ListView">
          <ControlTemplate.Triggers>
            <Trigger Property="IsFocused" Value="true">
                <Setter Property="BorderBrush" Value="#FF9D9B9B" />
            </Trigger>
          </ControlTemplate.Triggers>
      </ControlTemplate>
  </Setter.Value>
</Setter> 
</Style>

这是我的 ListView 的代码

<ListView  Margin="49,91,61,148" Grid.Column="1">
  <ListView.View>
       <GridView>
            <GridViewColumn Header="ID" />
            <GridViewColumn Header="Name"/>
       </GridView>
  </ListView.View>
</ListView>

但是在我应用这种样式之后,ListView 在运行时完全消失了。那里发生了什么。

4

2 回答 2

0

看看这里。它关于 ListBox 的 IsFocused 属性,但与 ListView 的想法相同。

于 2013-04-19T17:13:39.177 回答
0

也许它是<ControlTemplate> 你能简单地声明你的风格没有它吗?

  <Style TargetType="ListView">
    <Style.Triggers>
       <Trigger Property="IsFocused" Value="true">
          <Setter Property="BorderBrush" Value="Lime" /><!--bright color for empahsis only-->
      </Trigger>
    </Style.Triggers>
  </Style>

这在测试项目中没有问题/

于 2013-04-19T17:42:57.357 回答