2

我为一些我不太理解的行为编写了一个小测试用例。如果有人可以为我解决这个问题,我会最感兴趣。

我在 App.xaml 中有,

<Application x:Class="WpfApplication1.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         StartupUri="MainWindow.xaml">
  <Application.Resources>
    <Style TargetType="Border">
      <Setter Property="BorderBrush"
          Value="Crimson" />
    </Style>
  </Application.Resources>
</Application>

我想删除以下窗口的样式,因此我重新定义了样式,如下所示:-

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">

  <ListView>
    <ListView.Resources>
      <Style TargetType="Border" />
     </ListView.Resources>
     <ListView.View>
       <GridView>
         <GridViewColumn Header="test1" />
         <GridViewColumn Header="test2" />
       </GridView>
     </ListView.View>
  </ListView>
</Window>

我的印象是,如果我要重新定义样式,如上所述,这将覆盖我放入应用程序资源中的内容。我已经测试过设置边框画笔无济于事,即使这不是必需的。

下面是我假设没有边框样式的窗口的屏幕截图:-

测试用例窗口

注意它似乎在设计器中看起来不错,但在运行时却不行。此外,这适用于除边框外的其他目标类型(使用 TextBlock 和其他一些控件进行测试)

4

1 回答 1

0

您是否尝试过以您在 ListView 资源中声明的样式为 BorderBrush 添加设置器?

于 2013-03-20T16:00:10.163 回答