当我使用以下代码时,它可以工作,因为我使用的是ListBox
<UserControl.Resources>
<Style BasedOn="{StaticResource {x:Type ListBox}}" TargetType="{x:Type ListBox}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Background" Value="Transparent" />
</Style>
</UserControl.Resources>
但是当我将以下代码用于ListView时,我得到一个警告/异常
<UserControl.Resources>
<Style BasedOn="{StaticResource {x:Type ListView}}" TargetType="{x:Type ListView}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Background" Value="Transparent" />
</Style>
</UserControl.Resources>
“找不到StaticResource引用'System.Windows.Controls.ListView'。”
为什么以及如何解决它?我想要ListView的功能。
答案 0 :(得分:3)
试试这个:
<Style BasedOn="{StaticResource {x:Type ListBox}}" TargetType="{x:Type ListView}">
答案 1 :(得分:2)
ListView
不处理演示文稿,它会将其委托给View
属性,该属性通常为GridView
。尝试使用GridView
类型作为键设置样式。
答案 2 :(得分:0)
我遇到了同样的问题。我的场景有点复杂:app1引用了lib1和lib2,lib1定义了listview样式,lib2定义了一个包含listview的用户控件,并且不知道listview样式。 app1添加资源字典:
在lib2中,我定义了这样的列表视图:在设计时,我收到了错误: 未找到StaticResource引用'System.Windows.Controls.ListView'。 但在运行时,它运作良好。 我想这是VS2008的一个bug。 我在VS2010上尝试过它没有这个设计时错误。