我为一些我不太理解的行为编写了一个小测试用例。如果有人可以为我解决这个问题,我会最感兴趣。
我在 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 和其他一些控件进行测试)