Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf ListView控件和蓝色边框高亮显示_Wpf_Listview_Expression Blend - Fatal编程技术网

Wpf ListView控件和蓝色边框高亮显示

Wpf ListView控件和蓝色边框高亮显示,wpf,listview,expression-blend,Wpf,Listview,Expression Blend,我正在创建一个使用两个ListView控件的应用程序。我有一个特别的配色方案,我注意到,当鼠标进入ListView控件时,它周围有一个蓝色的边框高亮显示 我不知道这是在哪里产生的。我正在使用Expression Blend修改控件,但我发现ListView控件的所有组件都没有此蓝色的定义。事实上,ListView控件中没有控件行为方式的焦点视觉样式的触发器或状态。试试这个,应该可以做到: <ListView Background="Transparent" BorderThickness=

我正在创建一个使用两个ListView控件的应用程序。我有一个特别的配色方案,我注意到,当鼠标进入ListView控件时,它周围有一个蓝色的边框高亮显示


我不知道这是在哪里产生的。我正在使用Expression Blend修改控件,但我发现ListView控件的所有组件都没有此蓝色的定义。事实上,ListView控件中没有控件行为方式的焦点视觉样式的触发器或状态。

试试这个,应该可以做到:

<ListView Background="Transparent" BorderThickness="0" />

如果您想要这里的造型解决方案,它是:

<Style x:Key="{x:Type ListView}" TargetType="{x:Type ListView}">
  <Setter Property="SnapsToDevicePixels" Value="true"/>
  <Setter Property="OverridesDefaultStyle" Value="true"/>
  <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
  <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
  <Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
  <Setter Property="VerticalContentAlignment" Value="Center"/>
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ListView}">
        <Border Name="Border"
          BorderThickness="1"
          BorderBrush="#888888"
          Background="#FFFFFF">
          <ScrollViewer Style="{DynamicResource {x:Static GridView.GridViewScrollViewerStyleKey}}">
            <ItemsPresenter />
          </ScrollViewer>
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="IsGrouping"
                   Value="true">
            <Setter Property="ScrollViewer.CanContentScroll"
                    Value="false"/>
          </Trigger>
          <Trigger Property="IsEnabled"
                   Value="false">
            <Setter TargetName="Border"
                    Property="Background"
                    Value="#AAAAAA"/>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

<Style x:Key="{x:Type ListViewItem}" TargetType="{x:Type ListViewItem}">
  <Setter Property="SnapsToDevicePixels" Value="true"/>
  <Setter Property="OverridesDefaultStyle" Value="true"/>
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ListBoxItem}">
        <Border 
          Name="Border"
          Padding="2"
          SnapsToDevicePixels="true"
          Background="Transparent">
          <GridViewRowPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="IsSelected" Value="true">
            <Setter TargetName="Border" Property="Background" Value="#DDDDDD"/>
          </Trigger>
          <Trigger Property="IsEnabled" Value="false">
            <Setter Property="Foreground" Value="#888888"/>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>


列表视图
样式内使用边框,在
列表视图项
样式内使用is
IsSelected
的触发器(您可以更改边框大小或颜色。

尝试一下,应该可以做到以下几点:

<ListView Background="Transparent" BorderThickness="0" />

如果您想要这里的造型解决方案,它是:

<Style x:Key="{x:Type ListView}" TargetType="{x:Type ListView}">
  <Setter Property="SnapsToDevicePixels" Value="true"/>
  <Setter Property="OverridesDefaultStyle" Value="true"/>
  <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
  <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
  <Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
  <Setter Property="VerticalContentAlignment" Value="Center"/>
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ListView}">
        <Border Name="Border"
          BorderThickness="1"
          BorderBrush="#888888"
          Background="#FFFFFF">
          <ScrollViewer Style="{DynamicResource {x:Static GridView.GridViewScrollViewerStyleKey}}">
            <ItemsPresenter />
          </ScrollViewer>
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="IsGrouping"
                   Value="true">
            <Setter Property="ScrollViewer.CanContentScroll"
                    Value="false"/>
          </Trigger>
          <Trigger Property="IsEnabled"
                   Value="false">
            <Setter TargetName="Border"
                    Property="Background"
                    Value="#AAAAAA"/>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

<Style x:Key="{x:Type ListViewItem}" TargetType="{x:Type ListViewItem}">
  <Setter Property="SnapsToDevicePixels" Value="true"/>
  <Setter Property="OverridesDefaultStyle" Value="true"/>
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ListBoxItem}">
        <Border 
          Name="Border"
          Padding="2"
          SnapsToDevicePixels="true"
          Background="Transparent">
          <GridViewRowPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="IsSelected" Value="true">
            <Setter TargetName="Border" Property="Background" Value="#DDDDDD"/>
          </Trigger>
          <Trigger Property="IsEnabled" Value="false">
            <Setter Property="Foreground" Value="#888888"/>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>


列表视图
样式内使用边框,在
列表视图项
样式内使用is
IsSelected
触发器(您可以更改边框大小或颜色。

谢谢,这确实有效。尽管我仍然想知道蓝色的来源以及我是否可以更改它。@JakeShakesworth看到了编辑。只需使用ListView和ListViewItem样式的边框大小/颜色即可(因为IsSelectedTriggers激发时的边框会打断另一个。谢谢,这确实有效。尽管我仍然想知道蓝色的来源以及我是否可以更改它。@JakeShakesworth看到了编辑。只需使用ListView和ListViewItem样式的边框大小/颜色即可(因为边界的原因,当被选中的时候,装配工开火打破了另一个。