我有一个可以选择加载自定义主题的应用程序。在那个主题中,我有一种ListViewItem
改变突出显示颜色的样式。在应用程序中,我有一个GridView
可以双击的行,看起来像:
<UserControl.Resources>
<Style x:Key="ClickableRowStyle" TargetType="{x:Type ListViewItem}">
<EventSetter Event="MouseDoubleClick" Handler="RowDoubleClicked" />
</Style>
</UserControl.Resources>
...
<ListView ItemsSource="{Binding DataItems}" ItemContainerStyle="{StaticResource ClickableRowStyle}">
... Set up GridRows
</ListView>
我遇到的问题是,由于上面的网格使用自己的样式,因此不会应用主题中的颜色。
我尝试添加 BasedOn="{StaticResource {x:Type ListViewItem}}"。如果加载了主题,这将有效,但是,如果使用默认的 Windows 样式,我会从 StaticResourceHolder 中得到一个异常。
有没有办法从主题中获得外观(如果已加载),同时仍然能够双击网格行?